登录/注册

纠删码

更多

好的,我们来详细解释一下纠删码

核心概念

纠删码是一种数据保护技术,主要用于在分布式存储系统、网络传输等场景中,保护数据免受部分丢失或损坏的影响,并能利用剩余的完好数据恢复出原始完整数据。它的核心思想是用存储空间换取容错能力

工作原理(简化版)

  1. 分割原始数据: 将一份原始数据(比如一个文件)分割成 k 个大小相等的数据块
  2. 生成冗余数据: 通过特定的数学算法(编码过程),根据这 k 个原始数据块计算并生成 m 个额外的校验块
  3. 分发存储: 将这 k + m = n 个块(k 个数据块 + m 个校验块)分散地存储在不同的物理位置(比如不同的硬盘、不同的服务器节点、不同的数据中心)。这样,任何一个位置的故障或丢失,只影响它上面的那一小块数据。
  4. 容忍故障/丢失: 纠删码的设计保证:只要最终还能成功读取 n 个块中的任意 k 个块(无论是数据块还是校验块),就能通过解码算法完全恢复出原始的 k 个数据块
    • 这意味着系统可以容忍最多丢失 m 个块(n - k 个块)。
    • 丢失的块可以是数据块,也可以是校验块,只要总数不超过 m 个。

关键参数

与传统复制(Replication)的对比

优势和特点

  1. 高存储效率: 这是纠删码最突出的优势。相比副本机制,它能用少得多的存储空间达到相同甚至更高的可靠性级别。
  2. 高容错能力: 通过配置 km,可以灵活设计容错能力(例如容忍几个节点/硬盘同时故障)。
  3. 数据可靠性: 保障了在部分数据丢失的情况下,原始数据依然可用。
  4. 适用于分布式系统: 天然适合将数据块分散存储在不同节点上,提高系统的整体可靠性和可用性。
  5. 节省带宽(部分场景): 在修复丢失数据时,传统复制需要传输整个副本(比如一个 1GB 文件),纠删码只需要传输缺失的部分块(比如 k 个 128MB 块中的一个或数个块),减少了网络带宽消耗。(注意:编码/解码本身需要计算带宽)

缺点和挑战

  1. 计算开销: 编码(生成校验块)和解码(恢复损坏/丢失的数据)过程需要进行复杂的数学运算(如矩阵运算、有限域运算),需要消耗 CPU 资源。
  2. 修复延迟: 当需要恢复丢失的数据时,需要读取多个其他块并进行计算,这个过程比直接读取一个完整的副本要慢,可能导致更高的修复时间。
  3. 配置复杂性: 需要根据实际需求(存储空间、容错能力、性能)仔细选择 km 的值。
  4. 对小文件不友好: 对于非常小的文件,分割和编码的开销可能得不偿失。

常见应用场景

常见算法

举个例子 (k=4, m=2)

假设你有一个文件,通过纠删码 (k=4, m=2) 编码:

  1. 文件被分成 4 个数据块:D1, D2, D3, D4
  2. 通过编码计算出 2 个校验块:P1, P2
  3. 这 6 个块 (D1, D2, D3, D4, P1, P2) 被分散存储到 6 个不同的硬盘或服务器节点上。

效果:

总而言之,纠删码是一种用计算换取存储空间、以较低成本实现高数据可靠性和容错能力的关键技术,特别适合于处理大规模、存储成本敏感的场景。

基于技术实现防范更多存储设备和节点故障

StorPool Storage在其块存储软件的v21版本中添加了纠删码,这意味着其数据应该能够在更多设备和节点故障的情况下存活下来。

2023-11-15 17:49:05

新一代G7系列浪潮云海超融合EC功能设计

浪潮云海在2023年5月正式发布新一代InCloud Rail G7系列超融合一体机,其内置的InCloud dSAN超融合存储组件,基于新一代的硬件平台设计,支持全栈RDMA协议,同时在EC纠删功能上也带来全新体验

2023-09-06 04:29:02

分布式存储服务器面临的问题有哪些

分离式存储系统(disaggregate storage)是新型架构的重要组件,作为持久化数据的底座,在存储介质的集约化管理基础上,结合芯片、介质的深度协同设计,整合当前系统、盘两级的空间管理,通过大比例纠删

2023-08-02 09:43:52

解析无线电伪测目标距离系统的设计

解析无线电伪码测目标距离系统的设计

资料下载 弧度李 2021-09-12 10:48:59

可变参数的功能性修复最小存储再生

参数为(n,k,B,d,t)的功能性修复最小存储再生码采用(n,k)删除码策略,依靠d个帮助节点修复t个节点的失效。出于存储空间、修复带宽、可修复节点数等因素的考虑,需要将一个参数为(n;k,B

资料下载 佚名 2021-06-17 10:30:36

分布式存储系统的局部修复分析

列向量之间的线性关系,使用矩阵变换、矩阵拼接、删截等方法,构造五元域上所有的三维、四维最优码。在此基础上,分析该码尽可能小的局部修复度,并通过C

资料下载 佚名 2021-06-11 16:33:13

分布式存储系统中的容错方法综述

HRC码是一种具有存储效率高、计算复杂度低等优点的纠删码,但其存在编解码

资料下载 佚名 2021-06-04 11:27:57

16位CRC验证生成VI工具下载

16位CRC验证码生成VI工具下载

资料下载 李健康 2021-03-22 10:40:52

大学毕业设计一席谈之五十 余卷积仿真(1)

好久没看专业书了,需要补充营养。回学校的这段时间,几乎没有看什么专业书籍。其实市面上还有很多书值得我们看,看书也是一种交流。虽然删余卷积码已经是很老的一种编码,我之前也写过相关的仿真程序,但网上

2023-06-01 09:15:01

技术为产业转型升级构筑数据护盾

百万猎人兵临城下,向魔法护盾发起猛烈冲击,却无法将拥有99级神力的护盾撼动分毫。

2022-06-16 09:20:14

如何选择合适的存储架构:集中式存储or分布式存储

分布式存储使用多副本和纠删码技术实现数据保护。多副本方式(业界常用的多副本方式一般为2副本或3副本),其优点是可靠性高,性能高;但缺点是存储容量

2022-05-06 17:27:06

到底是更新缓存还是缓存

如何保证缓存和数据库一致性,这是一个老生常谈的话题了。 但很多人对这个问题,依旧有很多疑惑: 到底是更新缓存还是删缓存? 到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库? 为什么要

2021-10-22 17:05:22

分布式存储系统与技术背景

01 分布式存储系统与纠删码技术背景 分布式存储是当代大数据的基本存在形式,在工业界和学术界已经得到深入研究和高度重视,为了解决大规模存储带来的

2021-06-01 11:31:18

链家程序员怒公司9TB数据 被判7年

程序员删库的案件层出不穷,链家也中招了。

2021-01-08 09:42:26

关于分布式存储系统技术的分享

)、Partition tolerance(分区容错性),对于可用性来说常见的2种技术是多副本和纠删码,多副本就是把数据复制多份分别存储到不同地

2020-07-11 11:29:24

7天热门专题 换一换
相关标签