【存储】纠删码EC2+1,EC2+2,EC4+1,EC4+2:1分别是什么意思?

目录

什么是纠删码技术

EC“n+m” 是什么

EC n+m:1 是什么

总结


什么是纠删码技术

简介:

纠删码技术主要是通过纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。

将n块原始的数据元素,通过计算(编码)得到m块冗余元素(校验块)。也就是n+m份数据通过DHT算法分别存储不同硬盘中。当其中任意的m块元素出错(包括原始数据和冗余数据)时,均可以通过对应的重构算法恢复出原来的n块数据。在这种方式下,空间的利用率约为 n/(n+m),数据的可靠性由 m 值的大小决定,m越大可靠性越高。

更详细的介绍见:

https://blog.csdn.net/bandaoyu/article/details/122967008

EC“n+m” 是什么

例如:

EC“2+1” ,就是最多允许任意1块数据出错,磁盘利用率2/3,既2/(2+1)

EC“4+2” ,就是最多允许任意2块数据出错,磁盘利用率4/6,既4/(4+2)

...

EC“n+m” ,就是最多允许任意m块数据出错,磁盘利用率n/(n+m)

分配存储方式:

EC“4+2” 配置下,一个对象写入时,对象会分成4块原始数据,计算生成2块冗余数据,共生成 6个块.每个块均存入不同的硬盘,如下图所示:

 

EC n+m:1 是什么

分布式集群上的概念,我的理解应该是:每个节点最多只能保存一个对象的m块数据,既一个对象切分成n块数据,计算出冗余数据m,(n+m),x个节点,每个节点最多只能保存其中的m(每一块又分别在节点内独立磁盘),存不完就需要增加节点.

默认的纠删码是按照节点来分配/分割数据的,但亚节点纠删可按照硬盘来分配/分割数据,例如EC4+2:1,则是把3个节点当6个节点用,每个节点选择2块硬盘,整个集群选择6块不同的硬盘来存放4+2总计6个分片数据。如下图所示:

因此,EC4+2:1相比EC2+1,虽然能容忍节点故障数量仍然是1个,但它可以允许任意2块硬盘故障,数据不丢失。而实际情况下,硬盘故障的概率是远远高于整个节点故障的,所以EC4+2:1还是非常可靠的,在空间利用率上也远高于三副本。

总结

EC“n+m” ,就是最多允许任意m块数据出错,磁盘利用率n/(n+m)

EC“2+1” ,就是最多允许任意1块数据出错,磁盘利用率2/3,既2/(2+1)

EC“4+2” ,就是最多允许任意2块数据出错,磁盘利用率4/6,既4/(4+2)

...

EC n+m:1 是分布式集群上的概念

就是最多允许1个节点上的数据全坏或任意m块数据出错,磁盘利用率n/(n+m)

以下几个应该怎么理解,写在评论区交流一下

EC2+1 

EC2+2

EC4+1

分布式上的:

EC2+2:1 

EC4+2:1

 EC8+2:1  

个人理解:

EC2+1 

EC2+2

EC4+1

分布式上的:

EC2+2:1 

每个节点最多能存某个对象的2块数据(既要保证一个节点挂了最多不能失效超过两块数据),所以集群最少要(2+2)/2=2个节点,此时最多容忍一个节点失效,或每个节点失效一块数据,既总共两块数据失效.

EC4+2:1

每个节点最多能存某个对象的2块数据,所以集群最少要(4+2)/2=3个节点,此时最多容忍一个节点失效,或任意两个节点各失效一块数据(盘),既总共两块数据失效.

EC8+2:1  

每个节点最多能存某个对象的2块数据,所以集群最少要(8+2)/2=5个节点,此时最多容忍一个节点失效,或任意两个节点各失效一块数据(盘),既总共两块数据失效.

参考:

藏不住了!看智能数据系统如何帮你降低成本 (baidu.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值