说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

以Google第二代数据库产品MegaStore为理论模式 探索HBase系统

HTML文档下载 WORD文档下载 PDF文档下载
HBTC 2012(Hadoop&BigData Technology Conference 2012)即将召开,为了让读者可以提前了解一下目前国内各个公司在Hadoop和大数据方面的运用,CSDN于会前对演讲嘉宾进行了采访。本期采访了阿里巴巴的代志远,他给我们提前分享了一下HBase在阿里巴巴海量数据部门的实践。

【CSDN报道】代志远早年就职网易研究院从事MapReduce与DFS系统的自主研发,后加入支付宝数据平台负责Hadoop与HBase体系的架构设计与二次研发,支付宝流计算与分布式搜索系统的设计和研发,后成为支付宝海量计算体系架构师兼支付宝三代架构成员。现就转战于阿里巴巴集团-CDO-海量数据部门,负责创新性项目的研究和跟进,目前专注于Google第二数据库产品MegaStore的研究和在阿里的落地。

在即将召开的HBTC大会中,我们有幸邀请到代志远作为我们的演讲嘉宾,请他分享下阿里巴巴在海量数据分布式数据库领域的探索。我们也对他提前做了邮件采访,让用户可以更快地了解阿里巴巴海量数据分布式数据库以及在Hadoop应用领域的实践。

阿里巴巴海量数据部门: 代志远

CSDN: Hadoop目前是大数据处理领域的王者,但是都是像百度、淘宝这样的大公司在部署,那么您认为中小企业部署Hadoop的瓶颈在哪里?

代志远:首先因为Hadoop本身机制复杂,所依赖的参数配置颇多,并且Hadoop需要像DB一样稳定,满足性能的运行,就需要运维人员如同DBA一样要懂网络、磁盘、内核以及其他一些硬件知识,这对于运维人员的要求是比较高的。其次Hadoop社区蓬勃发展,生态圈不断扩大,用户不断增多,规模极限也不断突破,这就促使了Hadoop的架构和代码发展非常快而且变更也比较快,正因为如此,系统在快速发展的时候容易引入很多的Bug和一些缺陷(可能因为稍稍的使用不当或比较小的问题就引起整体性能和稳定性的波动)。更重要的是,Hadoop代码复杂,而且需要与社区接轨,能够找到对Hadoop源码熟悉并能优化升级和bugfix的人才是很难的,这对于一个公司的研发来说是个很大的挑战。最后一点是公司的认知,除了类似Cloudrea、MapR之类的软件公司需要对软件技术负责,其他多数公司无论大中小都依赖于公司业务,尤其中小公司业务压力大、人员紧张,能够从业务研发人员中抽调或通过其他方式组建专有的Hadoop运维团队甚至是研发团队,从公司规划与发展上来说是比较困难的事情。

CSDN: Hadoop的本质是为全量而生,就是说它重吞吐量,响应时间完全没有保障,那么对于像淘宝、天猫在“双11”活动抢购的时候,需要实时处理数据(可能是毫秒级,秒级的响应),是如何进行实现的?

代志远:Hadoop是离线计算平台,其中包括分布式文件系统(HDFS)和分布式计算(MapReduce),这本身是无法对相应时间做保证的,但是目前在Hadoop之上的生态系统越来越完善,其中HBase就是支持海量数据,高并发的在线数据库,应对这种场景就非常适合,此外HBase在这次双十一中与MySQL等在线数据共同作为线上库使用,承担了重要的责任创下了并在全天高压力之下无故障的优绩。另外非Hadoop生态圈的流式计算框架Storm、S4也同样可以为实时计算分担一定的压力。

CSDN: 您在云计算大会时做的一场有关Hbase的报告,在报告中,您提到使用Hadoop替代MySQL,那么为什么选择Hadoop,它对比MySQL的优势在哪里?

代志远:准确来说是HBase替换MySQL的一部分应用,这些应用自然是要符合HBase的应用场景(与MySQL对比),比如数据量大、对线性拓展有需求、对自动化运维(负载均衡)有要求而且应用模式简单。在支付宝中因其增长速度快,业务量大,造成了很多应用都是数据量庞大而且速度增长快,因此有一些应用迫切需要一个数据库能够支撑现在的业务而降低对关系型的需求,所以尝试了HBase的解决方案。

CSDN: 阿里巴巴在部署Hadoop的过程中有哪些比较好的经验可以跟技术人员分享?

代志远:最重要的是要有一个完善团队,健全的流程。

  • 集群越来越大,要树立以集群稳定性和性能为要领的工作思路。
  • 现在进入Hadoop应用开发领域的人变多,但本身知识因其入行早晚而积累不同,无法对集群的稳定性负责,常常会写出跑死集群的任务(DB中SQL使用不善也常会如此)。因此要有一个较好的管理流程约束开发人员做到责任分明,以便促使应用开发不仅要对自己的任务负责还要对集群负责,不断学习和检查减少故障的产生。
  • 要有一个好的运维团队,懂硬件、重流程、负责任。
  • 公司在资源和战略上应有所倾斜,重视研发人员加强在研发的投入,毕竟分布式系统的入行门槛相比应用开发的技术门槛要高,当然有好的应用架构师能够取长补短规避大多数问题也是可行的,但单一系统的稳定性还是需要靠人来保证。

CSDN: 请您简要介绍一下本次HBTC2012大会上的议题的内容。

代志远:06年Google发表论文Bigtable,社区随之出现HBase,后Google 08年发表第二代数据库产品MegaStore至今未有社区同类产品出现,现今Google又出现新一代数据库理论Spanner和F1。 而最近几年随之Bigtable和NoSQL的兴起,社区产品HBase逐步走向NoSQL系统的主流产品,优势明显然而缺点也明显,大数据平台下的业务由SQL向NoSQL的迁移比较复杂而应用人员学习成本颇高,并且无法支持事务和多维索引,使得许多业务无法享用来自NoSQL系统中线性拓展能力。

Google内部MegaStore就作为Bigtable的一个补充而出现,在Bigtable的上层支持了SQL,事务、索引、跨机房灾备,并成为大名鼎鼎的Gmail、APPEngine、Android Market的底层存储。因此我们决定以MegaStore为理论模型进行探索如何在HBase系统上不牺牲线性拓展能力,同时又能提供跨行事务、索引、SQL的功能。

HBase系统故障恢复的优化实践

其实在第四届中国云计算大会上,当时还在支付宝数据平台的架构师代志远就为大家带来了题为“HBase系统故障恢复的优化实践分享”的精彩演讲,他分析了支付宝海量数据在线处理的现状,以HBase解决方案取代传统MySQL解决方案的技术历程,并详尽分享了Region Server的宕机恢复流程(阅读全文)。

在Hadoop的体系当中,支持实时的一条线,HBase,支持海量数据库初衷的时候,设计为了设计万一级实时数据库,HBase这个东西经过这几年的发展,已经逐渐成为目前业界当中主要的实时数据库,分布式数据库,像支付宝直接上HBase系统,就是考虑到HBase的先进架构,能够帮助支付宝完成现在很多的海量数据的存储以及在线随机读写高性能的访问和存储。

不过在HBase的系统当中,体现它的可用性有几个风险。第一个是HBase本身在底层依赖的HDFS,加载了唯一一块数据,单台机器保证一致性,HDFS保持了冗余。第二点,恢复过程当中,Failover过程非常复杂,这个时间消耗越长,作为在线系统,这种时间越长可能会影响到在线访问用户体验。第三点它依赖的HDFS,HBase作为在线数据库依赖HDFS有故障的,经过几小时恢复提供生产业务,对业务方没有直接感受,作为在线系统如果挂掉,如果需要经过近小时恢复时间,恐怕就会直接收到自于支付宝外部的用户投诉了。HBase目前它自己的监控体系尚不完善,目前的监控力度非常得粗,只能监控到单台的Region Server的情况,看不到当前用户表有多少读写比例,看不到当前服务结点写作量多少,读出量多少。

Region Server在恢复过程当中有几个流程这个流程很复杂,流程非常非常多,以当前的系统规模,它凸显出来的问题,这几个流程是影响到它的恢复速度的关键流程。等待时间周期非常长,周期之所以比较长,是因为现在的机器发展速度非常得快,每台机器从两个G到8个G,96G,140G的大层次的机器,Java语言实现了系统当中大内存管理本身存在问题,除非革新这门语言,否则别无他法。如果说在设计的参数不合理,就可能会导致一个问题,有可能这台服务器就会停止运行,发生这么一次情况就非常可怕,几十G的内存这个过程需要几十秒甚至上分钟,通常情况下,我们会设置到3分钟,这就意味着,为了避免出现这种问题,就会同时引入新的问题,宕机之后恢复等待时间需要三分钟。第二个关键流程当中,当它感知到已经挂掉了,在线数据库协助WL数据重新做到存储当中去,以保证实时更新是同步,否则这个数据库肯定要丢出去,重做数据过程当中,会有一个过程,Split Hlog,跟当前数据量有关系,Edit Log数据又比较多,大家在业余时间可以进行测试,数据不以支付宝的为准,以当前数据系统大小为准。

第三个关键流程,重做完数据之后,这部分重新上线,上线之前进行数据进行二次扫描,告诉系统,Region怎么加入到Region Server当中去,扫描也存在问题,问题可能引发到两分钟到6分钟,这也跟当前系统数据有关。第四部分,这个过程称之为再次上线的过程,这个再次上线,上线时间跟当前这台机器的Region上线有关系。支付宝面对消费记录查询,用户查不出来数据,15分钟之后才能查到,在面临在线问题上这是非常可怕的事情。

针对Region Server这一关键流程,做了一些优化。这个优化正是提到关键流程第一点,在判断宕机超市的情况下,不强依赖于Zookeeper,支付宝又启动了监控进程Mirror Process,每一台,Region Server当中都会起到PID存不存在,这种检查并非完全可靠,当检查PID不存在,就有理由认为已经挂掉了,要进行可靠检查,通常DBA在线判断数据库是否可用,通常会用PIng连续服务端口,这就弥补了系动中的调用命令不可靠的事情。最后当发现服务端口不可用时,有理由认为当前进程已经死掉了,死掉了之后,那么就按照现有逻辑删除结点,这三分钟的时间就完全省略掉了。(整理/@CSDN王鹏,审校/包研)

11月30日-12月1日,北京新云南皇冠假日酒店,业内将迎来国内大数据领域最纯粹的技术盛会——HBTC 2012(Hadoop&BigData Technology Conference 2012)。Hadoop及云计算生态系统的力量齐聚北京,欢迎热爱开源的朋友们加入!报名网址参见HBTC 2012

更多精彩内容,请关注新浪微博:@CSDN云计算;大会官网:HBTC 2012

美国开展数据中心整合计划 简化政府IT运营 阿里巴巴数据交换平台——集大成于一身 [体验]Windows 8 Metro/Modern Style IE 10 Growth Hacker正席卷全球,你了解它吗? Splashtop发布Ubuntu Linux版本Streamer 性能超过VNC 10倍 Windows 8引领智能操作 人机交互进入触控时代 豌豆荚发布新版应用搜索 推出“绿色标签”机制 权威解读:苹果的未来将走向何方? Google炮轰Facebook:你们的社交已经过时了! iOS设备硬件规格完整汇总 2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 地位动摇:Windows设备10月销量同比下滑21% 手机QQ浏览器4.0 Android版 极速快感 生存还是毁灭:Facebook惨败真是HTML5的错? OpenStack基金会主席:一年后成熟度超越CloudStack 在线学习新编程 技巧全攻略 “英特尔杯”HTML5程序开发邀请赛侧记 C#编译器组首席工程师Eric Lippert离职 加盟Coverity Testacular:Google开源的JavaScript测试执行过程管理工具 黑莓亚洲开发者大会报道:BB10将敲开亚洲应用市场大门 挑战Google!传Facebook与Yahoo要联手开发搜索引擎 揭秘Android 4.2 开发者的天堂与地狱 11大黄金法则:顶级移动UX设计心髓 库克时代:苹果已经不是苹果 DataList中的CheckBox选择后状态为何为false? 库存周转率 我的epson LQ-1600K3在安装的时候出现一些问题(网络安装) 怎么样将值传递给弹出来的窗体?(变量传变量) 关于ascii的问题 关于数据结构c语言版的二叉树问题 关于C++中的C标准库的问题 submit的简单问题 关于文件和目录操作 请大家进来帮我找错误好吗,谢谢了 .Net2003新建一个WebService运行出错,什么都没写是HelloWord????? 如何从while循环中出来? 初学者,ADO数据库 请问WIN2000 SERVER 文件服务器怎么配置 ???公司要求。。。 请问各位大侠,怎么样实现:点击链接出现一个新的窗口 在控制台下用VC7的编译器编译C++文件,总说iostream出错,不包括路径集 请教问题, 做工资卡用的银行卡和普通的银行卡有什么区别? AbstractMethodError异常 只要能聊天,qq最少需那些关联文件?? 要求只能是数字的正则表达式怎么写阿? 求助:无法生成可执行的文件 inet_ntoa()如何给参数赋值 关于调用word制作多页表格的问题。 学图前,要学些什么? 品牌机的驱动竟然会装出问号 各位大哥,系统表sysprocesses变成用户表了,如何回去呀 原创:::::::::::::::软件开发--------大挽版 Table服務器控件可不可以將它賦值給TableRow 對象? 如何实现CSDN论坛左边菜单的显示和隐藏???? 关于数据库远程连接的问题 品牌机的驱动竟然会装出问号 java程序中有没有让系统重新启动的类呢?!有什么办法呢?!! 大虾请进 哪里有数据结构的完整例子? java程序中有没有让系统重新启动的类呢?!有什么办法呢?!! 2000高级服务器系统不见软驱盘 请各位大虾帮帮忙??? 急!!可执行文件的问题 无法在workspaces内 target,是怎么回事? 好烦啊,我想打人! 网恋失败,散分. 到底什么才是web service啊??:( 请问一个大利服务器的问题 请教,在vfp中怎么样可以检索一张表的字段名呀? 突然觉得好想有一个女人 1 当页面被刷新时,js1.js会不会被重新下载 程序WinExec“Internet选项”,进行设置代理,怎么样才能把Internet选项的窗口隐藏? 1 急:在asp.net中如何用C#或VB.net终止页面的执行? 用存储过程使sql服务器死过去! 关于同阶无穷小量的问题题目是函数:x^2/(1+x)与x^a为同阶无穷小量.求a.怎么算的 ( ),无缘对面不相逢 有缘千里能相会,无缘对面不相逢. 当x→o+时,√(x+√x)与4^√x,比较两个无穷小量得阶的高低 关于等阶无穷小量常用的几个等阶无穷小量是什么 作文:我熟悉的桥过街天桥 7k7k赛尔号依卡劳特精元怎么吸能量 如何理解这句话?前半句理解,后半句不理解.Air freight is only 4 dollars a KG how can surface be 3.26 a KG 无穷小量能这样运算吗?见于陈纪修、於崇华、金路编的复旦版《数学分析》,第38页虽然有穷多个无穷小量相加一定为0,但是无穷多个无穷小量相加就不见得为0了,可能为0,可能为有限数,也可 无穷小量的阶的问题.因为word中的公式无法直接复制到百度知道里来,因此我将它截了图. ……第二题怎么做按要求改写句子 小贝携全家看比赛 父爱爆棚吞小七胖手星巴克星巴克创始人回应“在中国高定价专家:中国已有5大类17种转基因生物芝加哥农产品期价24日全线下挫美国总统呼吁年内通过移民改革法案美国13岁少年持玩具AK-47 遭两印度少女回家途中遭轮奸 事后遭歹徒焚美国情报机构被爆监听35名国际政要电美遭盟友“愤怒围城” 昔日帝国实力大美媒称土购中国导弹或是把特洛伊木马塞法国之后是德国 媒体调侃下一个愤怒盟广西一村民持刀砍人致1死8伤 目前仍重庆铁路增开17趟列车 确保旅客节前江苏投入百亿元全面消除低电压现象乌鲁木齐海关查获2015年首起走私疫中国银行苏州分行八大创新支持科技中小秘鲁羊驼加盟常州\"神兽\"种群基地徐州首支配枪交警突击队上街巡逻(图)广西柳州上午大雾笼罩 下午雾霾“破表浙江节前查年夜饭 局长现场“出考题”情人节将至 警方提醒市民谨防“甜蜜”发改委:交通基础设施建设顺利推进兽魂之心龙傲乡村异能位面窥视阴阳我是天尊之修真界万智玄科幻技录英雄联盟之华诺传奇狂仙噬神苍莽录北国温泉旅游泉州东湖公园旅游花果山旅游阿育王塔旅游清音平湖旅游南园茶社旅游秀峰瀑布旅游白鹿洞书院旅游挂绿广场旅游湖南工业大学旅游深圳莲花山公园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘