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

什么是纠删码_脑疝的常见类型你能给纠删码一个好的定义吗? 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

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

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

(0)
上一篇 2025年7月29日 下午6:22
下一篇 2025年7月29日 下午7:01


相关推荐

  • 克莱因瓶莫比乌斯带_克莱因瓶剪莫比乌斯带

    克莱因瓶莫比乌斯带_克莱因瓶剪莫比乌斯带  [克莱茵瓶&莫比乌斯带]在1882年,著名数学家菲立克斯·克莱因(FelixKlein)发现了后来以他的名字命名的著名“瓶子”。这是一个象球面那样封闭的(也就是说没有边)曲面,但是它却只有一个面。在图片上我们看到,克莱因瓶的确就象是一个瓶子。但是它没有瓶底,它的瓶颈被拉长,然后似乎是穿过了瓶壁,最后瓶颈和瓶底圈连在了一起。如果瓶颈不穿过瓶壁而…

    2025年11月6日
    5
  • trylock 用法_Java lock

    trylock 用法_Java lock在并发编程中,为了避免多线程同时读写共享资源,我们需要互斥。Go标准库提供了互斥锁sync.Mutex,通过加锁Lock()方法和解锁Unlock()方法达到对共享资源的并发控制。在之前的设计中,当锁被占有,其他goroutine尝试获取锁时会被阻塞。这种方式当然是合理的,但是在某些情况下,或许我们希望在获取锁失败时,并不想停止执行,而是可以进入其他的逻…

    2022年10月10日
    6
  • 多线程编程里如何运用CreateMutex,WaitForSingleObject,ReleaseMutex来实现线程同步

    多线程编程里如何运用CreateMutex,WaitForSingleObject,ReleaseMutex来实现线程同步多线程编程里如何运用CreateMutex,WaitForSingleObject,ReleaseMutex来显现线程同步

    2022年6月26日
    38
  • 同步测试

    同步测试##要求:1编译运行附件中的代码,提交运行结果截图,并说明程序功能2修改代码,把同步资源个数减少为3个,把使用资源的线程增加到(你的学号%3+4)个,编译代码,提交修改后的代码和运行结果

    2022年7月2日
    28
  • django通用视图通俗讲解_django queryset合并

    django通用视图通俗讲解_django queryset合并前言上篇我们通过mixin可以非常方便的实现一些CURD操作。实际上针对这些mixin,DRF还进一步的进行了封装,放到generics下。有以下generic类视图:generics.ListA

    2022年7月31日
    9
  • 豆包大模型2.0发布 彰显多模态AI技术优势

    豆包大模型2.0发布 彰显多模态AI技术优势

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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