返回介绍

记录和衍生数据系统

发布于 2024-08-24 16:53:17 字数 977 浏览 0 评论 0 收藏 0

从高层次上看,存储和处理数据的系统可以分为两大类:

记录系统(System of record)

记录系统 ,也被称为 真相源(source of truth) ,持有数据的权威版本。当新的数据进入时(例如,用户输入)首先会记录在这里。每个事实正正好好表示一次(表示通常是 标准化的(normalized) )。如果其他系统和 记录系统 之间存在任何差异,那么记录系统中的值是正确的(根据定义)。

衍生数据系统(Derived data systems)

衍生系统 中的数据,通常是另一个系统中的现有数据以某种方式进行转换或处理的结果。如果丢失衍生数据,可以从原始来源重新创建。典型的例子是 缓存(cache) :如果数据在缓存中,就可以由缓存提供服务;如果缓存不包含所需数据,则降级由底层数据库提供。非规范化的值,索引和物化视图亦属此类。在推荐系统中,预测汇总数据通常衍生自用户日志。

从技术上讲,衍生数据是 冗余的(redundant) ,因为它重复了已有的信息。但是衍生数据对于获得良好的只读查询性能通常是至关重要的。它通常是非规范化的。可以从单个源头衍生出多个不同的数据集,使你能从不同的 视角 洞察数据。

并不是所有的系统都在其架构中明确区分 记录系统衍生数据系统 ,但是这是一种有用的区分方式,因为它明确了系统中的数据流:系统的哪一部分具有哪些输入和哪些输出,以及它们如何相互依赖。

大多数数据库,存储引擎和查询语言,本质上既不是记录系统也不是衍生系统。数据库只是一个工具:如何使用它取决于你自己。 记录系统和衍生数据系统之间的区别不在于工具,而在于应用程序中的使用方式。

通过梳理数据的派衍生关系,可以清楚地理解一个令人困惑的系统架构。这将贯穿本书的这一部分。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文