什么是EC, EC与多副本的对比分析
简介
对于存储用户而言,存储系统的可靠性、性能、成本,是用户非常关注的几个方面。在传统的存储中,大多是采用RAID的方式,来保证数据的高可靠性;而在分布式存储系统中,HDFS(Hadoop Distributed File System)为了保证数据的可靠性默认数据存储策略是3副本,即在写入数据的时候,会占用该数据大小3倍的空间,这样就造成了大量的空间浪费。对此,HDFS引入在RAID磁盘阵列中已应用成熟的技术:EC(Erasure Coding,纠删码)。
EC
EC是一种技术。是指将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。如果把n+m份数据分布在存储系统的不同节点上,那么任意小于等于m个节点故障(m份数据失效),都可以通过其他剩余的数据还原出原始数据,从而达到不影响业务的目的。
[如将1个文件打散成很小的数据块(如128k、256k、1M等),然后将这些数据块打散存储于多个DN中,然后在另外的若干个DN中存储EC编解码算法生成的校验块。如果某个存储文件块的DN不可用后,将可以通过其他DN中存储的数据块和校验块反向计算出来这个丢失的数据块]
EC算法可以灵活配置,比如系统要满足支持2个节点同时故障,则m=2即可。从空间利用率上,EC是优于多副本的,以4+2为例,空间利用率为4/(4+2)=67%。这个利用率相当于三副本的2倍。而可靠性上,与三副本一样可以满足支持2个节点同时故障。
多副本
简单说,多副本就是一份数据以副本的方式写到多个分布式系统中的存储节点中。这种多副本的数据保护方式,一来实现简单,而来可靠性高。除非所有副本所在的存储节点都故障,才会影响业务;除此之外,可以从未故障的其他副本读取数据以保证业务。但是多副本的空间利用率偏低,以三副本为例,存储空间利用率为33%,这也增加了企业级用户的存储成本。
对比分析
在满足同等可靠性要求的前提下,从以下方面对EC和多副本进行对比分析,如下:
空间利用率 | 硬件成本 | |
---|---|---|
多副本 | 低 | 高 |
EC | 高 | 低 |
适用性
在可用容量上,EC的优势是较大的,比如4+2纠删码的利用率是66%,但3副本只有33%,两者差了2倍,8+2纠删码更可以做到80%!
在读写性能上,多副本往往会更高,因为纠删码在写入时涉及数据校验,而且可能会产生写惩罚,在读取时更会横跨多个节点。比如4+2纠删码在读取1个数据时,需要从4个节点分别读取4个分片再进行拼接,任何1个节点时延过高,都会对性能造成很大影响。而多副本只需要读取1个完整的分片即可,不涉及节点的数据拼接。这两者的性能差异在小块IO时会较为明显,但如果IO块比较大的话,比如1MB,那么两者的性能差距就会逐渐缩小,因为这时候写惩罚较少,纠删码也能很好发挥多个节点并发的优势.
综上所述, 在冷数据存储上, EC对比多副本有绝对性优势.
什么是EC, EC与多副本的对比分析相关推荐
- Ceph 进阶系列(四):Ceph的纠删码特性 EC(Erasure Code)
从GitHub上Clone Ceph项目,我是基于(ceph version 12.2.11 luminous 版本)的代码来分析的 一.EC(Erasure Code)是什么? Ceph的纠删码特性 ...
- 滴滴使用 HDFS EC 节约大量存储的实践
桔妹导读:HDFS中默认的3副本方案在存储空间和其他资源(例如网络带宽)上有200%的开销.对于冷数据,使用纠删码(ErasureCoding,EC)存储代替副本存储是一种非常不错的替代方案.EC存储 ...
- 滴滴基于 HDFS EC 节约大量存储成本的实践
桔妹导读:HDFS中默认的3副本方案在存储空间和其他资源(例如网络带宽)上有200%的开销.对于冷数据,使用纠删码(ErasureCoding,EC)存储代替副本存储是一种非常不错的替代方案.EC存储 ...
- HDFS EC在滴滴的实践
桔妹导读:HDFS中默认的3副本方案在存储空间和其他资源(例如网络带宽)上有200%的开销.对于冷数据,使用纠删码(ErasureCoding,EC)存储代替副本存储是一种非常不错的替代方案.EC存储 ...
- Hadoop 3.0 EC技术应用
目录 EC的设计目标 EC背景 EC在RAID应用 EC与HDFS EC在Hadoop架构的调整 NameNode元数据存储 Client DataNode EC存储方案 EC编码和解码 容错性和存储 ...
- 中国碳酸亚乙酯(EC)(CAS+96-49-1)行业市场供需与战略研究报告
碳酸亚乙酯(EC)(CAS 96-49-1)市场的企业竞争态势 该报告涉及的主要国际市场参与者有Huntsman.BASF.Mitsubishi.New Japan Chemical.TOAGOSEI ...
- c和e语言,e-c c-e(英汉语言对比).ppt
e-c E-C Translation (3) A Contrastive Analysis of English & Chinese Contents Hypotactic vs. Para ...
- 博文推荐|深入解析 BookKeeper 多副本协议(一)
本文翻译自<A Guide to the BookKeeper Replication Protocol (TLA+ Series Part 2)>,作者 Jack Vanlightly. ...
- Kafka分区副本重分配源码分析
Kafka分区副本重分配 文章目录 Kafka分区副本重分配 1.前言 2.分区副本重分配流程图 3.分区副本重分配详细分析 3.1 客户端行为 3.1.1 执行副本重分配脚本 3.1.2 解析并验证 ...
最新文章
- 中安消布局东三省智慧城市市场
- 朝聚眼科完成4亿元B轮融资,兰馨亚洲和阳光融汇投资...
- 我的一次尴尬的维护经历
- 负载均衡下ajax第二次请求,会话清除第二个AJAX电话
- 盘点数学里十大不需语言的证明
- 数据结构与算法--求1~n能组成的所有二叉搜索树的排列
- 数据特征分析-对比分析
- 详解:设计模式之-单例设计模式
- python打造个性化ai_人工智能GIS技术篇——打造GeoAI个性化应用,你需要人工智能GIS流程工具...
- ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
- 《抉择与命运》读后感
- 老男孩Linux67期第一课
- 《软件测试》学习目标与计划
- LoRaWAN节点和网关接入阿里LinkWAN
- 95后开始考虑结婚?北京剩女80万-全国十大单身男女盛产地都在哪?
- iOS微信发布8.0.29版本,苹果14用户快来
- 网易考拉API开发系列:item_get-根据ID取商品详情 API 返回值说明
- win10隐藏任务栏_如何隐藏或删除Windows 10任务栏图标
- 使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI
- cocos2d-x 流星划过特效