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

XOR的黄色大象:Erasure Code为Hadoop节省数据恢复带宽

HTML文档下载 WORD文档下载 PDF文档下载
如何在尽可能少的成本下,保证数据安全,或在数据丢失后实现快速恢复?这的确是个不小的挑战。在Azure和Facebook中都使用了Erasure Code,这是一种替代Hadoop三副本和传统Reed Solomon Code的高效算法。

来自南加州大学和Facebook的7名作者共同完成了论文《 XORing Elephants: Novel Erasure Code for Big Data》。论文作者开发了Erasure Code家族的新成员——Locally Repairable Codes(即本地副本存储,以下简称LRC,它基于XOR。),明显减少修复数据时的I/O和网络流量。他们将这些编码应用在新的Hadoop组件中,并称之为 HDFS–Xorbas,并在Amazon AWS上和Facebook内部做了测试。

从Reed Solomon code到LRC

大约十年前,业界开始采用 Reed Solomon code对数据分发两份或三份,替代传统的RAID5或RAID6。由于采用了廉价的磁盘替代昂贵的存储阵列,所以这种方法非常经济。Reed Solomon code和XOR都是Erasure Code的分支。其中,XOR只允许丢失一块数据,而Reed Solomon code可以容忍丢失多块数据。

但标准的Reed Solomon code并不能很好的解决超大规模Hadoop负载。因为数据修复的时间和花费(主要为I/O和网络流量)成本较高。同时,在一段时间内,指数级增长的数据超出了互联网公司的基础设施能力。三副本有时候也不能满足更高的可靠性需求。

现在,这些互联网巨头设计的存储系统标准为:即便四个存储对象同时失效(这些对象包括磁盘、服务器、节点,甚至整个数据中心),也不能失去任何数据(目前Reed Solomon code是采用(10,4)策略,即10个数据块生成4个校验文件,可以容忍丢失4块数据。)。从这篇论文来看,Facebook采用Erasure Code方式后,相对于Reed Solomon code只需要60%的I/O和网络流量

论文作者分析了Facebook的Hadoop集群中的3000个节点,涉及45PB数据。这些数据平均每天有22个节点失效,有些时候一天的失效节点超过100个,见图1。


图1:日节点失效图

Hadoop集群的网络经常被被动占用,几个活跃的磁盘就可以占满1Gb带宽,修复失效数据产生的拥堵是不可能忽略不计的。一个理想的存储方案不仅要保证存储效率,还要减少修复数据所需的流量

LRC测试结果的主要指标:

  • 磁盘I/O和网络流量比Reed Solomon code减少一半;
  • LRC比Reed Solomon code多占用14%的存储空间;
  • 修复时间大幅缩短;
  • 更强的可靠性;
  • 对网络流量需求降低将实现适当的数据物理分布,甚至跨数据中心分布

表1:LRC与Reed Solomon code、传统Hadoop三副本策略对比。LRC比Reed Solomon code的无故障运行时间提升两个数量级,修复流量减少一半。

包括 HDFS-3544在内,业界正在不断追求高可靠下对网络带宽的节省方法,这对于互联网巨头和云计算基础架构服务商而言的意义不言而喻。由南加州大学、韦恩州立大学和微软共同参与的《 Simple Regenerating Codes》也在朝这个方向努力。值得注意的是,前文所说的LRC、HDFS-3544和《Simple Regenerating Codes》都是通过增加本地数据,来减少修复数据需要的网络流量

在 ATC2012上,微软Azure工程师Cheng Huang和他的同事分享了《 Erasure Coding in Windows Azure Storage》。Cheng Huang表示,微软在Azure上也使用了LRC技术。 这里可以看到Cheng Huang此次分享视频。另外,Cheng Huang也参与了《Simple Regenerating Codes》。

在国内,Azure在世纪互联北京、上海的两个数据中心部署了服务。在接受CSDN采访时,微软云计算与服务器事业部总经理严治庆 透露:

Windwos Azure上的数据要存放6份,即使是虚机的本地存储也不例外。在中国,没有一家公有云计算的公司愿意去承诺三个9这样的 SLA,但微软会承诺3个9或更高。

关于HDFS–Xorbas、LRC和GFS2

目前,HDFS–Xorbas基于Facebook的HDFS-RAID版Hadoop( GitHub入口、 Apache入口)修改而来,并在 GitHub上托管代码。

HDFS–Xorbas项目由 Maheswaran Sathiamoorthy维护,他是一名南加州大学谢明电子工程部的候选教授。咨询公司TechnoQWAN创始人Robin Harris在 文章中表示:论文中的几名作者已经创立了公司。

论文作者之一的 Dhruba Borthakur是Facebook的Hadoop工程师,他在2009年的一篇 博客中对Erasure Code进行了介绍:

我知道使用Erasure Code的想法来自 DiskReduce,这是一帮来自卡内基梅隆大学的家伙搞出来的。于是我借用了这个想法,并在Apache Hadoop上增加了这一功能 HDFS-503。

Dhruba强调,HDFS Erasure Code只是在HDFS之上的代码,并没有对HDFS内部代码进行修改。这样做的原因是HDFS代码已经十分复杂,不想自找麻烦把它弄的更复杂。

Dhruba还在Hadoop Summit 2012中的一个关于HDFS的 研讨会上谈到了HDFS-RAID在Facebook内部运行的情况。数据工程师 梁堰波在 博客中分享了Dhruba的观点:

存放在HDFS上的数据分为热数据和冷数据两种。热数据一般是存放三备份,因为这些数据经常会被用到,所以多备份除了高效冗余外还能起到负载均衡的作用。对于冷数据,并非一定要在HDFS里面保存3个副本。Dhruba介绍了两种不同的RAID方案,对于不太冷的数据块A/B/C,通过XOR方式产生校验数据块,原来的数据块A/B/C各保留2个副本,校验数据块也有两个副本。这样,副本系数就从3减小到了2.6(理论值)。

对于很冷的数据,方案更加激进,由10个数据块通过Reed Solomon code生成4个校验文件,对于原来的数据块,只保留一个副本,校验数据块有2份副本。这样,副本系数就降到了1.2。

梁堰波在 博客分享了Dhruba介绍的分布式RAID文件系统实现原理,在2009年Dhruba的博客中也对此进行了介绍,可以分别查阅。

当然,Hadoop不过是GFS的开源实现,那么Google是如何解决数据修复带来的高成本呢?在Google GFS2(Colossus)中使用了Reed Solomon code来复制。在Google去年发表的《 Spanner: Google's Globally-Distributed Database》( CSDN摘译稿)中透露:

Reed Solomon code可以将原先的3副本减小到1.5副本,提高写入性能,降低延迟。

但是关于GFS2的信息,Google透露非常有限。Google首席工程师Andrew Fikes在Faculty Summit 2010会议上分享了《 Google的存储架构挑战》,他谈到了Google为什么使用Reed Solomon  code,并列举了以下理由:

  • 成本。特别是跨集群的数据拷贝。
  • 提升平均无故障时间(MTTF)。
  • 更灵活的成本控制和可用性选择。

参考资料:

  • 王锐坚的博客
  • EMC中国研究院 颜开的博客
  • Highscalability
  • StorageMojo

(文/ 包研  审校/仲浩) 

欢迎关注 @CSDN云计算微博,了解更多云信息。

闯向海外:对话AppFlood产品总监陈霄 高手爱跨界:联想智能桌面,27寸大Pad抢先试玩 惠普第三季度收入272亿美元同比下降8% 高管重新布局 原来我们会出这个价钱购买“廉价”iPhone Web设计过程中该做和不该做的 新细节披露:通过电信合作 美国75%网络遭NSA监控 实时Bug检测工具Bugsnag发布API更新 【观察】一大三小:亚马逊,微软、谷歌、IBM ,IaaS四足鼎立 “化云为雨”一小滴:北京,3G手机+蓝牙打印机实现智能抄表 金山云与蓝汛联合提供云基础设施服务 MongoDB出新招,增加对Hive的支持 编程语言收入榜 Java排第三 直接拿来用!10段超有用的Git命令行代码 Google Cast SDK正式版发布:自动适配,修复Bug 频受红杉资本青睐,商业智能初创公司Birst靠的是什么? 2013百度世界大会要点精华回顾 WebApp开发框架Clouda、轻应用... 对新手有用的JavaScript开发小建议 磨剑三载,且看从容应对14.3万TPS的Twitter是怎样炼成的! 兰亭集势:被高估的“长尾式采购” 谁说WP手机不行?微软称已成拉丁美洲第二大移动平台 Windows 8之父Steven Sinofsky加盟风投机构A16Z SDCC 2013演讲议题抢先看 腾讯、阿里、支付宝、网易…… [开源推荐]Google开源基于Deep Learning的word2vec工具 【开源专访】DWZ团队:致力打造最简单的Web前端开发方式 Linux黑客车库创业:服务器操作系统CoreOS颠覆互联网 时间序列数据处理的角逐:MongoDB vs. Cassandra 移动周报:Sphinx游戏引擎的前世今生 联想K900评测:英特尔X86兼容性明显提升(组图) 小米手机-HAXLR8on硬件黑客马拉松:32小时的创客狂欢 鲍尔默宣布下台后,微软应该做好这几件事情 IGT张奇伟:从空间物理到博彩游戏研发 什么是硬盘的序列号,它是怎么来的 有谁写过医务室药品进销存方面的程序的,请指点一下!提点建议! jbuilder中说找不到路径,该怎么配置啊 如何彻底删除DBF中的记录 _ConnectionPtr 对象在 Close()之前怎么判断它是否已经关闭?高分相送 请教linux下omniORB CORBA服务器的问题 如何旋转控件 无法正确显示ACCESS数据的问题 索尼爱立信t68ie 有 和弦铃声吗??????????????????? 当把htm页群发邮件,如何能实现对方用文本格式浏览什么都不显示,只有超文本才正常显示? 如何判断自己的程序窗口的坐标位置 请问:关于POINT与LODWORD之间的转换方法? 急!!!!tomcat服务器,linux系统下的JSP文件如何解决中文乱码问题?必有重谢! 急,string的如何插入到access数据库中memo类型的字段 怎么生成动态数组? 有谁给个下载Visual C++ 的地址,因为机器没光驱,不好买盘装(谢谢) GUI高手请进 [转]今年高考首例满分作文(爆笑)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<delphi6开发者指南一书中的小问题 呜呜呜!!没人回答,再提!!怎么读出上传的文件内容,(根据文件路径/文件名链接打开)? bmp 图形格式转化成 jpg格式? 在Domino中,Notes命名域、Notes网络域、TcpIp网络域有什么区别,如何进行设置? 菜鸟提问 刚用JB就受挫!!!! 表名、列名都用中文会影响效率吗??? 我删除自己发的帖子怎么也会被扣信誉分? PHP3如何向ACCESS数据库增加一个记录! 第一次编译通过,再编译就一直报错。。 想了解一下上海交通大学软件学院软件工程硕士的情况,读过的或了解的请联系msn:w__j76@hotmail.com 请问如何读出某一指定point点的 颜色RGB值? 有八楼的程序员吗?给分! [讨论]滚动条的秘密 人邮或清华的高程试题分析,哪里有下载!! DirectX,OpenGL 是什么呀?是用于什么方面的呀? 请大家帮帮我吧。我快闷死了。 用BDE连接,程序在其它机子上不能运行 一个关于查询效率的探讨! 如何获取当前机器中注册的控件? 用gprs拨号上网,不能成功。 消息队列能否应用在Internet上?有没有这方面的例子? WinGate安装问题? .net中的并发在实际中的运用! 请问怎样控制行距? 终端服务许可证的问题(100分) c++绝对值的函数是什么?包含什么头文件? 感谢csdn,感谢officeman 偶终于入门成为程序员,给officeman 100fen 在线专等:问一个asp加密口令函数中的防止溢出和ASC码的问题! 请问怎么做FLASH才不会下载到客户端? 打印时怎样控制文字在页尾的位置? 服务器拒绝了一个或多个收件人地址。服务器响应为: 550 5.7.1 Unable to relay for 谢谢大哥们的指点,但是树型check 值提交服务端后无法获取check状态。救命啊!!! 当x=_____时,代数式x^2+1/2-3x的值为负数 已知m=根号3,求(1-2m+m平方)/(m-1)-(m-1)/(m²-m)的值 言必行,行必果.的意思 当x=()代数式3x+1/2想值是负数 已知1是关于x的一元二次方(m-1)x²+x+1=0的一个根,求m的值和另一个跟 言必言,行必果.的含义 函数的值域有哪几种解法请举几个例子, 《手指》阅读理解大拇指在五指中,形状实在算不上美.身体矮而胖,头大而肥,人家有两个关节,他只有一个.但在五指中,却是最肯吃苦的.例如拉胡琴,总由其他四指按弦,却由他相帮扶住琴身;水 言必行,行必果的意思 糸 这个字怎么读啊?拼音?急糸 这个字怎么读啊?拼音?急 所以(m+1/m)²=13,怎么得到的? 已知直线l1:2x+my+1=0与l2:y=3x-1,若两直线垂直,m的值为 糸采 这个字怎么读啊 元电荷是什么 ? 一段路旁每隔45米栽一根电线杆包括两端的共65根现在改为每隔60米栽一根电线杆两端不移动还有多少根不动? 如何反解法求这个函数的值域~!@f(x)=5x-1/4x+2 函数f(x)=2sin(π/6-2x)图像的一个对称中心坐标是 求详解- f(x)=2cosx(cosx-√3sinx)-1 的一个对称中心坐标莫非我自己化错了?A (π/3,0) B(π/6.0) C(π/12.0) D (5π/12,0) 改一笔成另一个字:旧 竿 刀 天 函数值域的解法求函数Y=根号X+根号1-X 的值域为不知可有步骤? 李媛最近学习不努力,经常出现迟到、不完成作业的现象,学习成绩也明显下降.你应该怎样劝说她,让她好好学习呢?(至少用上一句古诗词). 言必信,行必果是什麽意思 60v电动车仪表盘标识的有60公里的时速,实际能够达到这个速度没. 小新同学做作业时总喜欢抄袭别人的答案,请你用爱因斯坦的名言劝劝他___________________________下面这篇应用文在格式上有两处错误,请修改寻物启事因本人不慎,于本月4日将第12册《语文》丢在 言必信行必果的意思 是不是只有电动车装了60V的大容量电池就可以开60公里每小时的速度还有如果新买一辆电动车,如何改装可以把速度最大化的提升 “糸”怎么读? 直线l1:(2m^2+m-3)x+(m^2-m)y=2m,直线L2:x-y=1,当实数m取何值时,(1)l1垂直于l2(2)l1//l2 我就想不通了,为什么有些人不做作业不复习考试都比我好我真的搞不懂,有些人上课不听,晚上回家又是玩,一到考试就考的好.我自认为很努力,就算不是很努力应该也比他们要努力的多,我作业 填成语()()于勤填成语:()()于勤 l1:(2m^2+m-3)x+(m^2-m)y=2m直线L2:x-y=1当m取何值时两直线垂直 英语语法题 名词性从句19题目为图片,请解释答案+翻译句子,最好能写出解题的思考过程, 计算圆心角是30度,直径为18厘米的扇形的弧长和面积? 方言是什么字 言子旁右边一个虎怎么念 有什么办法可以不做作业提高成绩?不想做作业又不想让成绩下降,怎么办? 1.若代数式3x-4与x的值互为相反数,则x= 英语语法问题13请写出判断依据 求教~已知扇形的弧长和半径,求弧长所对的角度是多少?已知扇形的半径是9,弧长5,求弧长所对的角度是多少? (cosx)^x的极限是多少? f(x)=sin(2x-π/4)-2√2sin²x的最小正周期是 孩子不做作业 成绩差怎么办 “给”“让”的问题:这两个词都有“被”的意思,但是在某些方言里却有“把”的意思.比如“你走时给们关上”,“如果我们让肉抬高点,狗就吃不到了”.我就晕了,什么时候是 把 什么时候 f(x)=sin(2x-π/4)-2√2sin²x的最小正周期注:2√2sin²x,sin²x不在根号下 求助一个汉字怎么读?上面一个"代"字,下面一个"糸"字这个字不是我创的,康熙字典里有:http://www.zdic.net/zd/zi3/ZdicF0ZdicA5ZdicBFZdic9D.htm 竿改一笔是什么字 诗与词有哪些区别 糸色 望 第一个字怎么读?看了《绝望先生》就是查不到“糸”字 还是复制来的 言必行行必果中的信是什么意思 当x为何值时,代数式6分之3x—2的值是负数 小糸车灯的"糸"字怎么读? 微分方程求解:y+y'=e^(x-1) 其中y(1)=1,y'(1)=0. 不带脏字的损人方法!对于没口德的男生,老是用脏话开玩笑,怎么样说才能让他们觉得既不好意思又不用说脏话?让他们以后不敢再轻易和女生开过分的玩笑? y=2sin(2x+∏/6)的对称轴和对称中心怎样求 求微分方程y"-y'=e^x+4的一个特解Y的形式 当x=________时,代数式-5/(3x+1)的值是负数guocheng 请解答15题和16题,求详解 填充数列:1/2,1,7/8,5/8,13/32,( ) 当x=________时,代数式-5/3x+1的值是负数 15-16题详解 "竿"字改一笔是什么字?"盲"字减一笔是什么字? 安倍突访土耳其 传为劝阻土放弃购中国英国“小报女王”将接受刑事审判 令世英首宗疑似3D打印枪支案曝光韩承诺彻查干涉选举丑闻 被视为朴槿惠翘臀又嘟嘴 壮汉翻拍“性感照”遭吐槽男子纽约杀表兄家5人世界“最高男”终觅真爱斯诺登曝美国一月内监听西班牙6000美议员:欧洲应“感激”监听保安全格副总理当选总统鸟叔诉苦称进军海外压力大:两首歌走了叙提交化武销毁计划亲戚行凶 纽约华人母子五人被害英国发明“验精棒”可测精子是否达标埃及前总统穆尔西将受审 拒绝审判无人金华00后女生溜冰场结识男子 旷课5迈克尔杰克逊私人医生刑满出狱 欲再获55岁女子带出骗婚小团队 8个男人相拆反美海报 伊朗要与美国和好?国家公务员考试报名审查结束 浙江8万浙江省质监局:8家桶装水企业连续两次运动的新春阿里巴巴收购 韩最大娱企4%股份未来三天早晚能见度低乘警:火车上过除夕是常事我市各大公园周边现拥堵我在曼德勒过新年《中国城市的经济涅槃》东莞转型升级新16-2-12新闻和报纸摘要简讯铺大道筑轨道 小康驶上快车道世卫组织教你如何科学防蚊U站“红马甲”为游客送暖心服务我国将支持个人有序开展 人民币外汇衍引力波存在获证实朝鲜驱逐开城工业园区 所有韩方人员贺岁杯柯洁夺冠揽80万随时守护市民健康埃及一列火车脱轨春运返程高峰将迎寒潮天气美参议院通过 制裁朝鲜议案80后青年创业闯出一片天香港应对首宗输入性寨卡病毒感染个案
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘