擦除编码EC在数据中心中的最优机架协调更新
介绍与背景工作
擦除编码(Erasure Coding, EC)是一种提高数据冗余性和可靠性的数据存储方法。在擦除编码中,存储在磁盘上的数据被分割成比特,然后对每个片段进行编码,以实现高级别的保护,然后存储在不同的磁盘中,以实现高数据可靠性。
擦除编码通过数据块生成对应数量的奇偶校验块来进行数据的容错恢复。
机架:把很多个存储节点视为一个整体,这个整体由网络核进行互联。而数据的存储与更新一般是由多个机架为交换存储的单位,机架与机架之间又会有数据的交换。需要指出的是,机架间的带宽,应视为机架内的带宽的一部分。
数据中心:一组节点首先被组织成一个机架,多个机架通过网络核心(即汇聚交换机和核心交换机)进一步相互连接。
上图就是一个很好的例子,一组节点组成多个机架,机架之间有网络核管理通讯,蓝色的是数据库,绿色的是奇偶校验块(由EC编码的原理生成),它们的数量分别是6和3.
文章外主流的工作
为了解决数据错误或者丢失的问题,采用的常用操作是冗余和擦除编码。相对于冗余来说,擦除编码可以保证在存储开销更小的情况下保证相同程序的容错。但数据更新时,校验块的更新会给数据流带来额外的负担。
现有对擦除编码的研究主要有,减少磁盘的寻道,减少更新的流量等等。