【存储】什么是纠删码(与纠错码的区别)|纠删码与副本对比|LDPC码

article/2025/11/1 6:12:00

目录

什么是纠删码(与纠错码的区别)

FEC (前向错误纠正技术)介绍

纠删码与副本对比


什么是纠删码(与纠错码的区别)

       存储领域来看,数据冗余机制其实这几十年来没有太多进展,RAID,副本一直是当仁不让的最终选择。而近几年,尤其是规模较大的应用场景下,纠删码越来越多的出现在选择的视野范围,成为RAID,副本之外的第三种选择,因此也获得了越来越多的关注。

        纠删码(Erasure Code)本身是一种编码容错技术,最早是在通信行业解决部分数据在传输中损耗的问题,它的基本原理是把传输的信号分段,加入一定的校验再让各段间发生一定的联系,即使在传输过程中丢失掉部分信号,接收端仍然能通过算法把完整的信息计算出来。如果严格的区分,实际上按照误码控制的不同功能,可分为检错、纠错和纠删三种类型。

  1. 检错码仅具备识别错码功能 而无纠正错码功能;
  2. 纠错码不仅具备识别错码功能,同时具备纠正错码功能;<----与纠错码的区别
  3. 纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时,还可把无法纠错的信息删除。

        Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录),主要应用在网络传输中避免包的丢失, 存储系统利用它来提高存储可靠性。相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性, 但编码方式较复杂,需要大量计算 。纠删码只能容忍数据丢失,无法容忍数据篡改,纠删码正是得名与此。目前,纠删码技术在分布式存储 系统中的应用主要有三类,阵列纠删码(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。

  1. RAID是EC的特殊情况。在传统的RAID中,仅支持有限的磁盘失效,RAID5只支持一个盘失效,RAID6支持两个盘失效,而EC支持多个盘失效。
  2. EC主要运用于存储和数字编码领域。例如磁盘阵列存储(RAID 5、RAID 6),云存储(RS)等。
  3. LDPC码也可以提供很好的保障可靠性的冗余机制。与RS编码相比,LDPC编码效率要略低,但编码和解码性能要优于RS码以及其他的纠删码,主要得益于编解码采用的相对较少并且简单的异或操作。LDPC码目前主要用于通信、视频和音频编码等领域。

FEC (前向错误纠正技术)介绍

在信息中按照某种规则加上一定的冗余位,构成一个码字,称为差错控制编码过程。在接收端接收到码字,或从存储设备中读取码字后,查看信息位和冗余位,并检查他们之间的关系是否正确,以确定是否有差错发生,称为校验。Forward  Error Correction,FEC- 前向纠错编码技术通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码。这种编码的译码设备较复杂。

除FEC之外,还有两种差错控制编码:Automatic repeat request(ARQ)检错重发(或自动请求重传),Hybrid  Error Correction(HEC)混合纠错:

检错重发由发送端送出能够发现错误的码,接收端如果发现错误,通过反向信道把这一判决结果反馈给发送端。然后,发送端把接收端认为错误的信息再次重发。其特点是需要反馈信道,译码设备简单。

混合纠错是 ARQ和 FEC方式的混合。发送端同时送出具有检错和纠错能力的码,如果接收端收到信码在纠错能力以内,则自动进行纠正。如果超出纠错能力,则经过反馈信道请求发送端重发。

纠删码与副本对比

三副本和EC纠删码是分布式存储中常见的两种数据保护机制。由于EC纠删码存在比较严重的写放大问题,小块数据的写性能严重不足,通常仅适用于视频、备份、容灾等对IO性能要求不高的业务场景。在虚拟化、私有云、数据库等块存储场景,最常见的是三副本机制,即数据块按某种随机规则,保持在三个不同节点上的不同磁盘上。
链接:https://www.zhihu.com/question/449747044/answer/1919059927

在这里插入图片描述

3副本:4M对象
存储有效容量33.3%
写三副本,读主副本

纠删码:2+1:4K条带宽度,4M对象
存储有效容量66.7%
写所有分片,读k个分片

《》https://blog.csdn.net/qq43748322/article/details/121114894关于多副本和纠删码(一) --EC与多副本比较《》https://blog.csdn.net/qq43748322/article/details/121114894

参考资料:

  1. Erasure Coding(纠删码)深入分析
  2. erasure coding:纠删码

  3. Erasure Code

  4. EC---->LRC---->Sparse Erasure Code

  5. EC纠删码(Erasure Code)校验码算法相比传统RAID5有哪些优势?


http://chatgpt.dhexx.cn/article/igYi8jCr.shtml

相关文章

Web安全攻防

第三章 常用的渗透测试工具 Low级别基于布尔的盲注思路 1.判断是否存在注入&#xff0c;注入是字符型还是数字型 2.猜解当前数据库名 3.猜解数据库中的表名 4.猜解表中的字段名 5.猜解数据 判断是否有sql注入 输入1、1’ and 11 #、1’ and 12# 得到结果User ID exist…

Packet Chasing:通过缓存侧信道监视网络数据包

摘要 本文介绍了一种对网络的攻击–Packet Chasing&#xff0c;这种攻击不需要访问网络&#xff0c;无论接收数据包的进程的特权级别如何&#xff0c;都能发挥作用。一个间谍进程可以很容易地探测和发现网络驱动程序使用的每个缓冲区的确切缓存位置。更有用的是&#xff0c;它…

计算机网络cdm编码实验,【计算机网络】第二章:物理层(Part2:信道复用技术和宽带接入技术)...

CN.StudyLog.Ch2.Physical Layer.物理层(Part2.信道复用&宽带接入) 信道复用技术 频分复用(FDM&#xff0c;Frequency Division Multiplexing) 时分复用(TDM&#xff0c;Time-division multiplexing) 波分复用(WDM,Wavelength Division Multiplexing) 码分复用(CDM&#xf…

Kettle ETL处理工具

集群模式&#xff08;Linux&#xff09; 注意&#xff1a;检测服务器是否有jdk 1)准备三台服务器 HOST映射IPCUP内存端口Msternode01192.168.xx.xx1632G8080SlaveFristnode02192.168.xx.xx1632G8081SlaveSecondnode03192.168.xx.xx3232G8082 查看服务器上各个端口是否被占用…

操作系统,计算机网络,数据库刷题笔记11

操作系统&#xff0c;计算机网络&#xff0c;数据库刷题笔记11 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xf…

隐蔽信道相关概念(持续更)

通常&#xff0c;黑客会使用隐蔽网络躲避防火墙和IDS等。通过不可检测的网络从目标主机窃取数据的网络被称为隐蔽信道&#xff0c;而这些流量在网络监控设备/应用和网络管理员看来像是一般的正常流量。两个端点用户可以利用隐蔽信道&#xff0c;进行无法被检测到的网络通信。 什…

数据库原理复习与知识点总结

2022.5.29 更新&#xff1a;大学最后一门考试考完啦&#xff0c;开始下一阶段的学习 2022.5.26 更新&#xff1a;成功更完&#xff0c;开始刷题&#xff01; 2022.5.25 更新&#xff1a;争取明天更完 以下为原内容 第一章 绪论 1.1 数据库系统概述 数据库技术是信息系统的核…

数据库系统概论

目录 前言绪论数据库系统概述四个基本概念数据管理技术的产生和发展&#xff08;了解&#xff09;人工管理阶段文件系统阶段 数据库系统阶段整体数据结构化&#xff08;本质区别&#xff09;数据的共享性高&#xff0c;冗余度低&#xff0c;易扩充数据独立性高数据由DBMS统一管…

软件测试(白盒测试与黑盒测试)

黑盒测试 概述 黑盒测试用例设计方法包括 等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等 等价类划分法 概念 等价类划分法是把所有可能输入的数据&#xff0c;即程序的输入域划分若干部分&#xff08;子集&#xff0…

软件测试方法之黑盒测试与白盒测试

软件测试方法之黑盒测试与白盒测试 摘要&#xff1a;黑盒测试与白盒测试都是软件测试的重要方法。白盒测试是通过程序的源代码进行测试而不使用用户界面&#xff0c;它主要用于检测软件编码过程中的错误&#xff1b;而黑盒测试是是通过使用整个软件或某种软件功能来严格地测试,…

软件测试技术之: 白盒测试和黑盒测试

白盒测试和黑盒测试 目录 1. 软件测试基本分类...1 2. 测试方法...2 2.1 白盒测试...2 2.1.1 语句覆盖...2 2.1.2 判定&#xff08;分支&#xff09;覆盖...3 2.1.3 条件覆盖...3 2.1.4 判定/条件覆盖...4 2.1.5 多重条件覆盖...5 2.1.6 路径覆…

黑盒测试VS白盒测试

文章目录 概述一、测试方式不同二、测试目的不同三、测试原则不同四、优缺点对比五、测试用例设计六、结语 概述 白盒测试 白盒测试也称为结构测试&#xff0c;主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量&…

什么是黑盒测试,白盒测试,灰盒测试?

一、白盒测试 白盒测试也称为结构测试&#xff0c;主要应用于单元测试阶段&#xff0c;检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量&#xff0c;导致代码错误。 白盒测试的方法&#xff1a; 强度由低到高: 语句覆盖…

黑盒白盒测试的区别

一.黑盒测试(Black-box Testing) 黑盒测试也称功能测试&#xff0c;测试中把被测的软件当成一个黑盒子&#xff0c;不关心盒子的内部结构是什么&#xff0c;只关心软件的输入数据与输出数据。 不看软件代码&#xff0c;只对功能进行测试 对软件进行操作&#xff0c;观察结果是…

黑盒测试、白盒测试

定义&#xff1a;黑盒测试&#xff1a;黑盒测试&#xff08;Black-box Testing&#xff09;&#xff0c;黑盒测试又称为“功能测试”&#xff0c;是将测试对象看做一个黑盒&#xff0c;在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。 白盒测试&…

测试技术 --黑盒测试与白盒测试

黑盒测试与白盒测试的区别&#xff1a;黑盒测试不知道内部代 一、测试方式不同 1、黑盒测试&#xff1a;功能测试&#xff0c;是通过测试来检测每个功能是否都能正常使用。 2、白盒测试&#xff1a;称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 二、测试目的不…

一文带你吃透黑盒测试跟白盒测试的区别

前言 大家好,我是小七,在前面的测试笔记中我们具体聊过白盒测试跟黑盒测试,这些天跟我的一些同事也有聊到类似的一些概念,今天就跟大家分享下我对这两种测试的理解。 黑盒测试 它是根据软件需求和规范创建测试场景/案例,按照需求文档里面定义的行为及规范进行输入并且检查…

黑盒测试AND白盒测试

一.黑盒测试(Black-box Testing) 黑盒测试也称功能测试&#xff0c;测试中把被测的软件当成一个黑盒子&#xff0c;不关心盒子的内部结构是什么&#xff0c;只关心软件的输入数据与输出数据。 不看软件代码&#xff0c;只对功能进行测试 对软件进行操作&#xff0c;观察结果是…

黑盒测试与白盒测试的区别

黑盒测试与白盒测试的区别有哪些&#xff1f; 一、测试方式不同 1、黑盒测试&#xff1a;功能测试&#xff0c;是通过测试来检测每个功能是否都能正常使用。 2、白盒测试&#xff1a;称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 二、测试目的不同 1、黑盒测试…

什么是黑盒测试和白盒测试,有什么区别?

目录 一、黑盒测试 二、白盒测试 三、黑盒测试和白盒测试的区别和联系 一、黑盒测试 黑盒测试&#xff08;Black Box Testing&#xff09;是一种软件测试方法&#xff0c;它关注于对被测试系统的功能和接口进行测试&#xff0c;而不考虑内部实现细节。在黑盒测试中&#xf…