巧用Erasure Code探秘浪潮大数据一体机的存储高招

杨亮 发表于:14年12月30日 00:59 [转载] 赛迪网

  • 分享:
[导读]大数据由于与智慧城市、物联网、移动互联等前景广阔的项目息息相关,成为时下最炙手可热的IT技术。

大数据由于与智慧城市、物联网、移动互联等前景广阔的项目息息相关,成为时下最炙手可热的IT技术。在此背景下,众多的IT厂商纷纷推出基于Hadoop的大数据一体机,力图表明已经做好准备迎接大数据时代。不过,大部分IT厂商谈及的几乎都是产品特点和市场表现,一旦涉及具体的技术细节都深藏不露,例如近年来,Erasure Code作为可有效提升存储效率、安全性和便捷性的新兴存储技术,备受IT和互联网业界青睐,但却对此技术秘而不宣。近日,笔者有机会近距离接触到浪潮云海大数据一体机SDA60000,对Erasure Code在这款产品中的应用细节探了一回究竟。

众所周知,Hadoop之所以问世,很大一部分原因是为了解决数据的分布式存储问题。由此可见,存储在整个Hodoop体系下的地位有多么重要。SDA60000作为一款面向大数据分析、处理的软硬一体化产品,在存储方面做了针对性的设计:硬件上使用了大容量的SATA硬盘,单机柜可提供700TB以上的裸容量;软件方面,部署了浪潮在开源Hadoop基础上做了深度优化后的浪潮云谷一体机系统软件,通过HDFS文件系统实现对海量数据的快速存储。这其中,Erasure code的巧妙使用,使得HDFS的存储机制得到了进一步改良。

Erasure Code:互联网巨头们的“最爱”

Erasure Code 最早是无线通信中有噪信道编码的一种,也叫纠删码。Erasure Code设计的初衷,是希望利用这项技术将数据分割成不可识别的数据块,使用额外的信息追加到每个数据块中,允许从一些数据块的子集就可以复原完整的数据集,数据块可以分布在一个数据中心、城市、地区或全球任何地方的不同存储位置。这种方式将大大提升数据存储的便利性和安全性。

从某种程度而言,Erasure Code 是对RAID5算法的改良和优化。最常见的Erasure Code是Reed Solomon算法。如图1所示,假设总共有n块数据,其中k块用来存放数据,m块用来存储erasure编码(k+m=n),只要坏掉的数据块数量不超过m块,都可以通过erasure编码将其余的恢复出来。也就是说,通常k+m的erasure编码,能容m块数据故障的场景,这时候的存储成本是1+m/k,通常m

图1 Reed Solomon Erasure Code 算法

当前,Microsoft、Google、Facebook、Amazon、淘宝等互联网巨头早已开始研究Erasure code编码存储技术,并将其实际应用到各自主流存储系统中。

Google GFS II中采用了最基本的RS(6,3)编码,将一个待编码数据单元(Data Unit)分为6个数据块(data block),再添加3个校验块(parity block),最多可容包括校验块在内的任意3个数据块错误。

微软在其云存储平台Windows Azure Storage中将校验块分为全局校验块、局部校验块。当发生任何一个数据块错误时,恢复代价由传统RS(12,4)编码的12(通过网络传输的数据块数量),变为6,恢复过程的网络I/O开销减半。

Facebook HDFS RAID的早期编码方式是RS(10,4),为减少数据恢复的网络I/O,Facebook于VLDB 2013发表名为“XORing Elephants”的LRC编码方法,除了在原先的10个数据块之后添加4个校验块外,还将10个数据块均分为2组,每组单独计算出一个局部校验块,将数据恢复代价由原来的10降低为5。

采众家之长浪潮SDA60000中的Erasure Code

当然,天下没有免费的午餐,HDFS Erasure Code在提升存储空间利用率的同时,由于数据校验块的计算需要额外的CPU时间,加上完整的数据块只有一份,在高并发读取时效果不理想。故此,应用Erasure Code需根据数据量和性能需求制定有针对性的策略:对于数据量大,存储空间紧张,访问频度低的数据采用Erasure Code方式。

浪潮云海大数据一体机SDA60000借鉴了各大厂商的研发和优化经验,采用Erasure code对HDFS的存储机制进行改良,它采用的RS因子为RS(10,4),即为每10个数据块生成4个校验块,每个集群可容忍最多4个节点失效,数据冗余度为1.4。通过Erasure code技术,SDA60000在保证了数据容错的基础上大幅提升了存储空间利用率。

图2 SDA60000 Erasure Code 策略

如图2所示,浪潮云海大数据一体机SDA60000可为HDFS的每一个目录制定灵活的Erasure Code策略,通过制定RAID间隔,SDA 60000可以实时侦测特定目录中数据的冷热程度,当系统发现某些数据在很长一段时间没有被访问时,自动将底层的存储机制从默认的三副本转化为Erasure Code,以提升文件系统的空间利用率。

在实际应用中HDFS Erasure Code功能非常适合海量历史数据的存储,是图片视频数据,音频数据和日志数据理想的动态归档方案,在政府、公安、医疗和科研等行业具有广泛的应用前景。

相对于传统的业务系统,大数据分析系统对于数据可用性和数据处理性能要求更为苛刻,浪潮云海大数据一体机将进一步发挥其软硬件一体的优势,一方面,优化软件算法并针对硬件情况调优参数,另一方面,借助于浪潮强大的硬件研发能力,通过FPGA(Field-Programmable Gate Array)加速卡,SSD缓存加速等技术加速编码速度,提升磁盘IO性能。

浪潮是领先的云数据产品及方案供应商,目前已全面涉足软件定义数据中心,强调以硬件重构和软件定义相结合的融合架构,来实现数据中心所有资源的全虚拟化、全自动化,更好的满足大数据、云计算应用对IT基础架构的要求。浪潮云海大数据一体机SDA60000作为一款融合架构产品,将是未来软件定义数据中心支撑平台的重要选择之一。

[责任编辑:redsenlin]
腾讯安全日前联合全国18个省市近30多名资深网警全面总结、深入研究后发布了国内首个《反信息诈骗白皮书》,《白皮书》显示,仅2013年,中国信息诈骗案件发案30万余起,群众损失100多亿元。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.