知识卡片

事实不可变

普通读书笔记卡 · 1784

内容

大数据的数据模型应把核心记录建成不可变事实:事实一旦发生就只追加不覆盖,后续纠错通过写入新事实表达。这样系统能追溯历史、重放计算,并把人为错误限制为可修复的新输入。

参考来源

- 位置:《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》第2章《大数据的数据模型》"2.1.2 数据是不可变的"一节(源文件:_epub-src/OEBPS/Text/020.xhtml) - 结论依据:原文明确"就不变性来说,你不会更新或删除数据,你只是添加更多的数据",并说明容错优势:"对于可变的数据模型,一个错误会导致数据的丢失,因为在数据库中,值会被覆盖掉;而对于不可变的数据模型,没有数据会丢失……修复数据系统只是删除损坏的数据单元,并重新计算由主数据集生成的视图"。 - 原始内容:就不变性来说,你不会更新或删除数据,你只是添加更多的数据。通过对大数据系统使用不可变模式,你将获得两个至关重要的优势:容忍人为错误——……对于不可变的数据模型,没有数据会丢失。如果写入坏数据,更早些(好)的数据单元仍然存在。修复数据系统只是删除损坏的数据单元,并重新计算由主数据集生成的视图。