什么是纠删码_脑疝的常见类型

什么是纠删码_脑疝的常见类型你能给纠删码一个好的定义吗? EthanMiller:纠删码是在丢失部分数据的情况下根据剩余数据将丢失的数据重建的一组算法。举个例子,如果我想保护六份数据,我会使用一种纠删码算法来产生两份额外的数据,这样总共就会有八份数据。这八份数据中的任意六份数据都能恢复另外两份数据。纠删码的要点是你可以选择对数据做任意数量的分片。我知道一些纠删码可以将数据至多分成200片或者奇数片,你也可以选择校验数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

你能给纠删码一个好的定义吗?

 Ethan Miller:纠删码是在丢失部分数据的情况下根据剩余数据将丢失的数据重建的一组算法。举个例子,如果我想保护六份数据,我会使用一种纠删码算法来产生两份额外的数据,这样总共就会有八份数据。这八份数据中的任意六份数据都能恢复另外两份数据。 纠删码的要点是你可以选择对数据做任意数量的分片。我知道一些纠删码可以将数据至多分成200片或者奇数片,你也可以选择校验数据的数量。比如可以是10份原始数据加上8份校验数据,一共18分数据。其中只要有任意10份数据是完整的就可以恢复全部数据。 所有IT部门都使用RAID5和RAID6,这也是最常用的纠删码类型。大部分的IT部门不考虑使用能够保护多于两份数据丢失的纠删码类型,至少现在是这样。不做考虑的原因是在同一个RAID组中两个成员同时发生故障的几率相对较小。但如果你的IT环境很大,数据量有1PB甚至更多,那么你可能需要考虑使用在两个成员都发生故障时依然能够保护数据的纠删码。 

有其它类型的纠删码吗?

 Miller:是的,人们需要了解两种基本的纠删码类型。一种叫做Reed-Solomon纠删码,如果你有12份数据单元和4份纠删码单元,这总共的16个数据单元可足够用于恢复数据。如果任意12份数据是完好的,也就是说无论哪4份数据出现故障,你都可以恢复数据。 第二种类型的纠删码在目前会更加普遍一些。同样的,假设你有12份数据单元和4份纠删码单元,你可以在4份单元中的大部分单元都出现故障时恢复数据。这会稍微一些风险,但同时你也能因此得到回报。回报就是你可能只需要从三份、四份、五份、六份单元中恢复数据,而不需要通过12份单元来恢复。这样在恢复数据的过程中,读操作大量减小了。这种纠删码的风险是如果固定的四份数据单元出现故障,数据将无法恢复。 如果你在决定使用哪种纠删码,你需要确定你的数据的重要性,如果它们很重要,你可以使用类似Reed-Solomon的纠删码。如果你对性能更加关注,可能那种使用4份纠删码单元的纠删码会更加吸引你,而且由于4份数据同时发生故障而导致数据丢失的可能性也比较小。了解不同类型纠删码的特性是很重要的,这可以使你能够根据你的应用系统来决定使用哪种纠删码。 

哪种应用、负载以及数据类型适合使用纠删码? 

Miller:有一种类型的数据非常适合使用纠删码,这种数据就是归档数据。因为归档数据需要保存相当长的一段时间,一份、两份或多份数据出现问题的可能性会急剧上升。 归档数据的另一个特性是写入操作很少,这使得纠删码可以很轻易的恢复数据。一旦你写入一次数据,你可能会在很久以后才会读取,甚至永远不会再读取。纠删码的大部分额外开销是在写入的时候产生的(写惩罚),而在读取的时候只有少量开销。事实上,只有在发生故障的时候才会有额外的读取开销。如果没有故障发生,纠删码对读取操作通常不会有任何影响。 从应用的角度来看,对于读写都很繁忙的应用,使用纠删码并不是一个很好的选择。但对于只有大量读取的应用,纠删码可以提供强大的可靠性,并且在恢复数据的时候只产生很小的额外开销,因为纠删码的额外开销主要来自写操作。

 如何评判不同产品的纠删码? 

Miller:我认为评判纠删码的第一条标准是性能。换句话说,当你部署了一种纠删码后,写入速度会有多快?进行数据恢复时的读取速度有多快? 另一个标准是纠删码如何将数据单元分割?可以是整盘的分割,可以是卷级的分割,也可以是部分盘或部分卷的分割,总之会有各种方式将数据单元进行分割。分割时还会遇到的一个问题是纠删码单元的数量有多少?有10个数据单元和5个纠删码单元组成的纠删码系统,也有12个数据单元和4个纠删码单元组成的纠删码系统。但大部分纠删码产品都能配置数据单元和纠删码单元的个数。 还有一个需要考虑的点是某些纠删码类型会带来一些问题,尽管并非一定会有问题。大部分产品都是用Reed-Solomon纠删码,所有的Reed-Solomon纠删码的工作机制基本是相同的。但有些类型的纠删码为了使数据恢复更加快速,采用了不同的工作机制。使用这种类型纠删码的厂商宣称它能从4块硬盘中的部分硬盘(并非所有硬盘)中恢复99.9%的数据丢失故障,但正如之前的描述,这种让数据恢复更加快速的工作机制会增加一定的风险。所以在你做出选择之前需要了解它们的工作机制。 还有些需要考虑的小细节,比如不同的厂商部署纠删码的方式或许会有些不同。所以在部署之前你需要了解每个厂商的纠删码是如何工作的,它们能在什么样的场景恢复数据故障。 

你认为纠删码会在未来掀起一波浪潮吗? 

Miller:我认为在某些领域,纠删码会在未来掀起一波浪潮。特别是在存储归档领域,在我看来纠删码是必备的,因为你会把数据保存10年甚至20年,你会经历各种故障并将它们恢复。此外在数据归档中,你会经常读取数据,就像我们之前提到的,只有写归档数据才会有额外的性能开销。所以纠删码在未来一定会在数据归档领域成为潮流,这毫无疑问。 此外,我认为未来纠删码是否会成为潮流取决于设备容量大小和读写速率的相对速度提升差异。当存储容量的增速大于读写速率的增速时,纠删码的作用就更能够体现。这就是为什么我们从90年代中期(那时我是加州大学伯克利分校的RAID小组的一员)的RAID5走到了今天的RAID6。看看过去,当时你读一整块硬盘的时间只需要几分钟时间,而今天你可能要花上大半天。如果用最快的速度在连续一周的时间进行读取操作,你可能需要更好的纠删码,因为在一周的时间你可能会遭遇两到三次的故障,这样你需要花费额外的资源去重建数据,你也希望这些故障能够被解决。所以我认为由于我们的存储设备容量在不断变大,但读写速率并无法按照相应的比例来提升,我们对纠删码的需求就会变得越来越多。



TechTarget中国原创内容,原文链接: 
http://www.searchstorage.com.cn/showcontent_85879.htm


© TechTarget中国:http://www.techtarget.com.cn

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/210011.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 强大的nginx反向代理异步传输模式(原理)[通俗易懂]

    强大的nginx反向代理异步传输模式(原理)[通俗易懂]sudone.com在nginx的反向代理介绍中,提到了异步传输模式并提到它可以减少后端连接数和压力,这是为何?下面就来讲解下传统的代理(apache/squid)的同步传输和nginx的异步传输的差异。看图:         squid同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是一直存在的。nginx异步传输:浏…

  • SQL insert into select 用法

    SQL insert into select 用法SQLinsertintoselect用法一张存在的表,插入的新数据来源别的表时,可以使用insertintoselect语法。1、两种语法1、表数据user表idnamea

  • Ext.apply(src,apply) 和 Ext.applyIf(src,apply)比较(转)

    Ext.apply(src,apply) 和 Ext.applyIf(src,apply)比较(转)Ext.onReady(function(){/**Ext.apply(src,apply)和Ext.applyIf(src,apply)两个方法的使用和区别比较*///Ext.app

  • 高斯函数和正态分布的关系_高斯函数半高宽

    高斯函数和正态分布的关系_高斯函数半高宽高斯函数与正态分布高斯函数或者说正态分布函数在很多场合都得到广泛应用,其是概率论和统计学的核心,在最大似然估计、贝叶斯估计中必不可少。其也是稀疏贝叶斯估计的重要基础。下面对高斯函数的一些基本知识点进

  • 【OpenGrok代码搜索引擎】三、OpenGrok常用命令

    【OpenGrok代码搜索引擎】三、OpenGrok常用命令写在前面为了防止一些无法预料的情况发生,建议在完成代码项目索引创建后对索引生成器(indexer)生成的配置文件configuration.xml进行备份。一、免配置方法可以使用一个OpenGrokDocker容器,该容器包含了OpenGrok配置环境,但需要注意的是,该容器不适合大型的代码项目。详细参考链接如下:opengrok/dockeratmaster·oracle/opengrok·GitHubDockerHub二、常用命令2…

  • java多线程

    java多线程

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号