知识卡片

海量数据校验靠"可信点"加分片,而非暴力遍历

普通读书笔记卡 · 1631

内容

对几个GB结构化数据做全量校验和复制是简单问题,但套用到700PB数据上会直接失效——即使用理想化 的300MB/s传输速度遍历一遍也要耗时80年,全量复制更不可行。真正可行的解法有两个:一是建立 “可信点”,某段数据确认不再变化就彻底校验保存,后续只做增量校验,把百年级任务压缩到与日常 处理同一数量级;二是把数据合理分片后并行校验,前提是分片间保持独立、避免相邻任务抢占资源。

参考来源

- 位置:《SRE:Google运维解密》第26章《数据完整性:读写一致》"E级数据"一节(源文件:_epub-src/OEBPS/Text/0009_0017.xhtml) - 结论依据:原文给出量化案例"现在,我们用同样的策略来校验700 Petabytes的结构化数据。就算我们使用一个理想化的SATA 2.0接口(300MB/s的性能),仅仅是遍历一遍所有数据进行最基本的校验也将需要80年",随后提出建立"可信点"和分布式分片两个解法。 - 原始内容:现在,我们用同样的策略来校验700 Petabytes的结构化数据……仅仅是遍历一遍所有数据进行最基本的校验也将需要80年……处理海量数据,最重要也最有效的方式是给数据建立一个"可信点"……这种技术可以将备份时间缩减到与主要处理逻辑的吞吐量在一个数量级内。