Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​纠删码理论基础

​纠删码理论基础

作者头像
用户4700054
发布于 2022-08-17 04:34:03
发布于 2022-08-17 04:34:03
1.4K0
举报

纠删码数据容错原理

  • 纠删码是一种前向纠删码。过程分为编码和解码。编码过程是将文件分割为固定大小的文件块,针对这些被分割的文件块编码为k个块(k个块中包括了k1个数据块和k2个校验块)。解码过程是将编码后的多个子块作为输入,经过解码可以恢复任何一个块的数据(不管是数据块还是校验块)。
  • 采用纠删码技术来做数据容错,当磁盘出现故障,失效数据可以通过纠删码的校验链的构建机制来恢复数据,而不是纠正数据自身的错误,一般(k+r,k)纠删码存储开校门为r/k,相对副本纠删码具有低存储开销,但是纠删码涉及到的编解码,计算开销相对较大。
  • (k+r,r)纠删码中,其中k份原始数据分块通过一定编码规则计算得到k+r个编码块,其中任意的r份数据块出错时候,均可以通过相应的重构善法来恢复原始k份数据块,纠错能力的上限r<=d-1(d是纠删码的最小列距)。
  • 常用的编码编码有RS编码(里得所罗门编码)和LDPC编码(低密度奇偶校验编码)、RAID编码(阵列编码)这三种。
常用纠删码编码方式
  • 范德蒙德RS编码:犯德蒙德RS编码中,范德蒙德生成矩阵和数据列向量在Galois域GW中执行乘法运算得到校验数据。如果数据分块d1发生失效,解码过程为利用存活数据所对应的剩余生成矩阵的逆矩阵与存活数据对应的列向量在Galois域GW中进行乘法uyunsuan得出失效数据。数据编码算法成立的必要条件是生成矩阵任意k个行向量在域GW上是线性无关。Galois域的加法等同于异或运算,而对于乘法和除法,则通过查询域GW上对数表和反对数表来实现。范德蒙德RS编码时间复杂度为O(kr),解码时间复杂度(O r的三次方)
  • 柯西RS编码:柯西矩阵的RS编码在范德蒙德RS编码基础上做了优化。改进1,冗余矩阵采用柯西矩阵,解码过程中的求逆矩阵的计算复杂度有O(r三次方)降低到O(r的二次方);改进2,将有限域中的每个数表示成一个二维矩阵,使得有限域上的乘法运算转换为异或运算,提高运算效率的同事减低复杂度。
  • LDPC编码:LDPC编码是对于一组给定的数据信息,通过在其末尾添加校验信息进行数据检错。若采用奇校验,则添加校验信息的原则是保证原始数据信息和校验信息的数量为奇数;若采用偶校验,保证原始数据信息和校验信息的数量为偶数。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 存储内核技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录)。目前很多用在分布式存储来提高存储的可靠性。相比于多副本技术而言,纠删码以最小的数据冗余度获得更高的数据可靠性,但是它的编码方式比较复杂。
区块链大本营
2020/03/24
1.6K0
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
分布式系统下的纠删码技术(一) — Erasure Code (EC)
近几个月主要参与一个分布式存储系统的纠删码部分(用于数据容错),纠删码在学术界出现比较早,现在ceph,微软的存储系统,Hadoop 3.0等都用了EC。文章会分为多篇,主要将Erasure Code,LRC, 以及相关的数学基础,作为学习总结。
全栈程序员站长
2022/11/17
3.3K0
分布式系统下的纠删码技术(一) — Erasure Code (EC)
分布式存储系统纠删码技术分享
海云捷迅云课堂专题,旨在秉承开源理念,为大家提供OpenStack技术原理与实践经验,该专题文章均由海云捷迅工程师理论与实践相结合总结而成,如大家有其他想要了解的信息,可留言给我们,我们会根据问题酌情回复。
海云捷迅
2020/07/08
4.1K0
分布式存储系统纠删码技术分享
Reed-Solomon纠删码简析
Reed-Solomon编码(又叫RS编码、里德-所罗门编码)作为一种前向纠错编码,是一种很常见的数据冗余技术,也就是通过对数据增加冗余部分来保证当数据丢失时能够在一定程度上进行恢复。最典型的应用就是在现在最流行的QR二维码的编码设计中。
mythsman
2022/11/14
2K0
纠删码优势分析
纠删码概述 存储节点或者存储介质失效已经成为经常的事情,提高存储可靠性以及保障数据可用性已经变得非常重要,纠删码具有高存储效率和高容错能力。在体量非常大的存储中纠删码存储方式相比副本方式存在编码开销,又由于其特有的IO访问路径,其改进空间比较大 保障数据可用性的常用方法就是数据冗余,传统的数据冗余方式就是副本和纠删码方式,副本是将每个原始数据分块都镜像复制到其他设备上来保证原始数据丢失或者失效时有副本可恢复;副本方式不涉及数据变换,而纠删码会对数据进行变换和运算,得到支持数据冗余的编码数据,比如k+r(k个
用户4700054
2022/08/17
1.7K0
纠删码优势分析
应用AI芯片加速 Hadoop 3.0 纠删码的计算性能
在保证可靠性的前提下如何提高存储利用率已成为当前 DFS 应用的主要问题之一。
ethanzhang
2018/12/30
10.5K1
应用AI芯片加速 Hadoop 3.0 纠删码的计算性能
详解HDFS3.x新特性-纠删码
EC(纠删码)是一种编码技术,在HDFS之前,这种编码技术在廉价磁盘冗余阵列(RAID)中应用最广泛(RAID介绍:大数据预备知识-存储磁盘、磁盘冗余阵列RAID介绍),RAID通过条带化技术实现EC,条带化技术就是一种自动将 I/O 的负载均衡到多个物理磁盘上的技术,原理就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去,这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突(当多个进程同时访问一个磁盘时,可能会出现磁盘冲突),而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。在HDFS中,把连续的数据分成很多的小部分称为条带化单元,对于原始数据单元的每个条带单元,都会计算并存储一定数量的奇偶检验单元,计算的过程称为编码,可以通过基于剩余数据和奇偶校验单元的解码计算来恢复任何条带化单元上的错误。
五分钟学大数据
2021/01/15
1.7K0
纯干货 | 深入剖析 HDFS 3.x 新特性-纠删码
HDFS是一个高吞吐、高容错的分布式文件系统,但是HDFS在保证高容错的同时也带来了高昂的存储成本,比如有5T的数据存储在HDFS上,按照HDFS的默认3副本机制,将会占用15T的存储空间。那么有没有一种能达到和副本机制相同的容错能力但是能大幅度降低存储成本的机制呢,有,就是在HDFS 3.x 版本引入的纠删码机制。
五分钟学大数据
2021/04/01
1.8K0
什么是HDFS的纠删码
Fayson在前面的文章中介绍过CDH6,参考《Cloudera Enterprise 6正式发布》和《如何在Redhat7.4安装CDH6.0》。CDH6主要集成打包了Hadoop3,包括Hadoop3的一些新特性的官方支持,比如NameNode联邦,纠删码等。纠删码可以将HDFS的存储开销降低约50%,同时与三分本策略一样,还可以保证数据的可用性。本文Fayson主要介绍纠删码的工作原理。
Fayson
2018/11/16
5.5K0
Hadoop3.0时代,怎么能不懂EC纠删码技术?
根据云存储服务商Backblaze发布的2021年硬盘“质量报告”,现有存储硬件设备的可靠性无法完全保证,我们需要在软件层面通过一些机制来实现可靠存储。一个分布式软件的常用设计原则就是面向失效的设计。
个推
2022/05/27
1.5K0
Hadoop3.0时代,怎么能不懂EC纠删码技术?
有趣的纠删码(erasure code)
RAID 是 "Redundant Array of Independent Disk" 的缩写,中文意思是独立冗余磁盘阵列 是一种古老的磁盘冗余备份技术,也许你从未了解其中的原理,但肯定也听说过它的大名。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,其特色是N台硬盘同时读取速度加快及提供容错性.
王磊-字节跳动
2021/05/30
12.1K0
纠删码集群需要关注的哪些
纠删码存储方案 按照存储单元单元连接方式,纠删码存储可以分为基于高速总线的磁盘阵列、LAN方式的集群、基于WAN/Internet方式的广域网存储系统。阵列码是一种特殊化的纠删码,采用高效率的异或运算 。国内大部分纠删码存储主要集中在磁盘阵列和阵列编码两个分支。纠删码存储集群的重要设计目标就是降低总体成本。 数据访问频度 国外大公司通过分析很多应用的I/O特征发现,数据访问的频度随着时间递减,这与数据信息生命周期概念保持了一致,即在数据创建的时候,访问数据的频度很高,这些数据称为热数据;经过一段时间后,这些
用户4700054
2022/08/17
5110
Erasure-Code-擦除码-2-实现篇
本文链接: [https://blog.openacid.com/storage/ec-2/]
drdrxp
2022/04/28
7270
Erasure-Code-擦除码-2-实现篇
FEC 的介绍
根据文章内容,总结为:在容灾存储领域,Reed-Solomon码是一种经常使用的编码方式,其基本思想是将数据分割成若干份,对每一部分分别进行编码,并将编码后的结果合并起来。在容灾存储中,数据的丢失往往是不可避免的,因此,如何将数据在丢失后重新获取回来,是一个非常重要的问题。Reed-Solomon码是一种能够将数据在丢失后重新获取回来的编码方式,它具有纠错能力,能够在数据丢失后自动进行纠错,从而保证数据的正确性。在容灾存储中,Reed-Solomon码的应用非常广泛,其编码和解码速度都非常快,能够大大提高容灾存储系统的性能和可靠性。
serena
2017/08/29
4.6K0
FEC 的介绍
如何在CDH6.0中使用纠删码
Fayson在前面的文章中介绍过《什么是HDFS的纠删码》,当时详细介绍了什么是纠删码,纠删码的实现原理,以及一些Benchmark的结果比较。
Fayson
2018/11/16
4.3K0
Erasure-Code-擦除码-3-极限篇
本文链接: [https://blog.openacid.com/storage/ec-3/]
drdrxp
2022/04/28
8010
Erasure-Code-擦除码-3-极限篇
0460-HDFS纠删码的机架感知
Fayson在前面的文章中对Hadoop3的新特性之一纠删码进行过介绍,参考《什么是HDFS的纠删码》,后面又对纠删码的使用进行了实操,参考《如何在CDH6.0中使用纠删码》。但我们知道,在HDFS的三副本年代,Hadoop为了最大限度保证数据可用性,HDFS本身还有一个机架感知策略。这里先温习一下:
Fayson
2018/12/17
1.2K0
技术解码 | RSFEC原理分析
作者 | 蒋刚 审校 | 刘连响 ---- 今天向大家介绍下RSFEC的原理,它通过生成冗余数据来恢复丢失的信息,首先介绍下背景,之后重点介绍RSFEC如何计算冗余和恢复数据的,分为异或方式和矩阵方式,异或方式可以认为是矩阵方式的特殊形式,最后做下总结。 - 背景介绍 - RSFEC广泛应用于存储、通信、二维码等领域,比如RAID利用它生成冗余盘提升容错性,视频通话中利用它生成冗余数据对抗网络丢包,太空中远距离传输数据时也用到它,第三张图片是旅行者一号应用RSFEC将太空中拍摄的照片传回地
腾讯云音视频
2021/06/25
3.4K0
顶会论文:纠删码存储系统中的投机性部分写技术
本文已被USENIX'17年度技术大会录用,此处为中文简译版。 阅读英文论文完整版请点击:Speculative Partial Writes in Erasure-Coded Systems 。 前言 多副本和纠删码(EC,Erasure Code)是存储系统中常见的两种数据可靠性方法。与多副本冗余不同,EC将m个原始数据块编码生成k个检验块,形成一个EC组,之后系统可最多容忍任意k个原始数据块或校验块损坏,都不会产生数据丢失。纠删码可将数据存储的冗余度降低50%以上,大大降低了存储成本,在许多大规模分
美团技术团队
2018/03/13
2.5K0
顶会论文:纠删码存储系统中的投机性部分写技术
OPPO数据湖统一存储技术实践
OPPO是一家智能终端制造公司,有着数亿的终端用户,每天产生了大量文本、图片、音视频等非结构化数据。在保障数据连通性、实时性以及数据安全治理要求的前提下,如何低成本、高效率地充分挖掘数据价值,成为了拥有海量数据的公司的一大难题。目前业界的流行解决方案是数据湖,本文介绍的OPPO自研的数据湖存储CBFS在很大程度上可解决目前的痛点。
从大数据到人工智能
2022/04/23
6930
OPPO数据湖统一存储技术实践
相关推荐
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档