Hadoop纠删码(Erasure Coding)简介

本文介绍了Hadoop中的Erasure Coding(EC),作为替代三副本的存储策略,以提高存储效率并保证数据可靠性。EC通过XOR和RS码实现数据冗余,Hadoop 3.0引入EC支持,如RS-6-3-1024k策略,能容忍3个块丢失。EC的实现包括连续布局和条形布局,各有优缺点,适合大规模冷数据存储场景。
摘要由CSDN通过智能技术生成

三副本机制

1、什么是三副本

默认情况下,HDFS会使用三副本机制来保证数据可用性,第一个副本存放在本地机架节点上,另一个副本存放在同一机架的另一个节点上,第三个副本存放在在不同机架的节点上。三副本机制可以减少机架间的数据传输,提高写操作的效率,保证数据的可用性,因为机架错误的概率要小于节点出错的概率

2、三副本带来的问题

三副本会造成存储空间200%的额外开销,还会在其他资源上造成浪费,比如在写数据时会造成额外的带宽消耗。尤其对于冷数据,因为查询的频率很低,第二个和第三个副本很少被访问,却依然占用了同样大小的存储空间,在数据治理的过程中,我们需要着重关注这部分数据,能删掉的要及时下线,但对于一些必须保留却很少使用的冷数据(如某个已结束的促销活动),最好能有一种办法替代三副本,达到既能保证数据可用性,又能降低存储开销的效果。由此我们引入了 Erasure Coding(简称EC)技术。

Erasure Coding

1、什么是 Erasure Coding

纠删码技术(Erasure coding)简称 EC,是一种编码容错技术。EC 最早用于通信行业,用于数据传输中的数据恢复。它通过对数据进行分块,然后计算出校验数据,使得各个部分的数据产生关联性。当一部分数据块丢失时,可以通过剩余的数据块和校验块计算出丢失的数据块。
在 Hadoop 3.0 中,Cloudera 与 Intel 的工程师在 HDFS-7285 下启动了 EC 项目,引入了纠删码技术,它可以提高 50% 以上的存储利用率,并且保证数据的可靠性。

2、Erasure Coding 的原理

EC 的基本思想是将k块原始的数据元素通过一定的编码计算,得到 m 块校验元素。对于这 k+m 块元素,当其中任意的 m 块元素出错(包括数据和校验出错),均可以通过对应的重构算法恢复出原来的k块数据。生成校验的过程被成为编码(encoding)࿰

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值