专属OBS对象存储EC纠删码算法介绍

   为实现数据的高可靠和高性能,专属对象存储采用ErasureCodeEC,纠删码)算法做数据冗余,由于不同大小的数据存入专属OBS,数据冗余比不完全一致,所以专属云的实际使用容量与下单时预估的存储容量会存在一定的不一致。不一致的原因在于,下单时购买专属对象存储,实际是购买了一定数量的专属存储服务器,为了便于理解,我们把固定数量的专属存储硬件的裸容量做了转换,根据EC算法典型的数据冗余比率,转换成了预估的有效容量。

 

不同大小数据的冗余比不一致的原因,我们从EC算法的原理进行解释,专属OBS EC算法原理:专属OBS首先会对接收到的数据进行条带化,然后对每N个原数据条带,使用EC算法进行冗余计算,计算得到M个冗余数据条带,不同的条带会存入不同的硬盘,以此来提升数据读写的带宽和保障数据可靠性。实际上对象切分的数据条带可能不足N个,也会产生固定的M个冗余条带,此时容量利用率会低于典型冗余比N/(N+M)

也就是说固定数量的专属对象存储设备,在存储不同大小的对象时,有效容量不是完全一致的。特别是小对象,容量利用率会低于大对象的容量利用率。 所以如果存储的小文件(小于3MB)过多,实际可使用的容量会小于下单时的预估容量