研究人员推出新删除码技术RapidRAID

新加坡研究人员提出用一种新的方式来保护分布式存储系统的数据完整性并表示他们的“RapidRAID”系统可以提供顶级的保护,同时这个系统比其他方式消耗更少的网络、计算和存储阵列资源。

RAID——独立磁盘冗余阵列——作为一种存储方式已经存在差不多四分之一世纪了。该技术是将数据在多个磁盘间复制,以便在一个磁盘发生故障或丢失的时候不会导致数据丢失。当一个驱动器故障的时候,RAID意味着可以在阵列上增加一个新的驱动器,同时来自原始驱动器的数据将被恢复。不同“水平”的RAID涉及不同数量的磁盘并提供不同水平的可靠性。

随着各种各样的向外扩展架构提供不同的冗余数据存储方式,RAID慢慢地也变得没那么流行了。RAID技术还受到来自TB级磁盘驱动器的挑战,因为这种磁盘上的大数据量意味着重构一个驱动器需要更长的时间和更多的IOPS(每秒输入输出),有可能会超过许多用户的忍耐性。

删除码也是挑战RAID的技术转移,而且删除码很容易被理解为某种形式的元数据。删除码让数据碎片可以分布在更广泛的磁盘上,它可以从多个来源中将碎片重新整合以提供所需要的数据。删除码功能已经应用在Google File System(谷歌文件系统)、Hadoop文件系统、Azure和几个商业产品中。

一些人甚至将删除码形容为一种RAIN——独立廉价节点阵列——RAIN被认为是继承RAID的技术。

新加坡研究人员的工作成果可以在arXiv上看到。他们提出了一种名为RapidRAID的新架构。这种方式有别于其他类型的删除码实施方式,降低了创建一个有效的归档所需要的存储量,同时加快了创建归档的速度。

该团队认为可以实施所谓的“流水线式插入”:

“编码流程被分布在那些存储复制数据的节点上,这些节点可以反映数据的本地性并节约网络传输。然后我们将编码节点以流水线方式安排起来,每个节点将部分编码后的数据发送给下一个节点,同时在不同的存储节点上创建校验码数据,避免在编码流程结束后额外的校验码分布时间。”

上述的这篇论文然后提出了RapidRAID,——一个删除码的集合,和RAID一样,提供不同的数据保护水平。

这篇论文描述了对新代码的测试,比较了RapidRAID和许多当前实施所使用的Reed-Solomon删除码。在一个涉及50个精简客户端和16个EC2实例的测试中,研究人员声称RapidRAID在一些方面更好。

研究人员认为RapidRAID适合用于大数据,但是也承认如果要用于那些需要超过两个数据副本的应用程序,需要做更多的工作。

在github上可以下载这些代码。