浅谈EC和多副本
【摘要】 对于存储用户而言,存储系统的可靠性、性能、成本,是用户非常关注的几个方面。在传统的存储中,大多是采用RAID的方式,来保证数据的高可靠性;而在分布式存储系统中,多副本和EC(Erasure Code)是比较常见的数据保护方法。本文简单介绍多副本和EC概念、原理和优势对比等
前言
对于存储用户而言,存储系统的可靠性、性能、成本,是用户非常关注的几个方面。在传统的存储中,大多是采用RAID的方式,来保证数据的高可靠性;而在分布式存储系统中,多副本和EC(Erasure Code)是比较常见的数据保护方法。
那么什么是多副本?又如何理解EC?他们之间的区别和优势又是什么呢?
多副本
简单说,多副本就是一份数据以副本的方式写到多个分布式系统中的存储节点中。这种多副本的数据保护方式,一来实现简单,而来可靠性搞。除非所有副本所在的存储节点都故障,才会影响业务;除此之外,可以从未故障的其他副本读取数据以保证业务。但是多副本的空间利用率偏低,以三副本为例,存储空间利用率未33%,这也增加了企业级用户的存储成本。
EC
EC是一种技术。是指将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。如果把n+m份数据分布在存储系统的不同节点上,那么任意小于等于m个节点故障(m份数据失效),都可以通过其他剩余的数据还原出原始数据,从而达到不影响业务的目的。EC算法可以灵活配置,比如系统要满足支持2个节点同时故障,则m=2即可。从空间利用率上,EC是优于多副本的,以4+2为例,空间利用率为4/(4+2)=67%。这个利用率相当于三副本的2倍。而可靠性上,与三副本一样可以满足支持2个节点同时故障。
对比分析
在满足同等可靠性要求的前提下,从以下方面对EC和多副本进行对比分析,如下:
空间利用率 | 硬件成本 | |
多副本 | 低 | 高 |
EC | 高 | 低 |
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)