当你向数据工程师询问其组织内数据之间的最广泛区别时,可能会听到“事务型数据”和“分析型数据”这两个术语。事务型与分析型是在生态系统中对数据进行分类的方法。但该方法非常重要,如果你对数据质量文化感兴趣的话,就需要了解它。
虽然我们会在这里稍微深入研究事务型数据,但就本书而言,我们一直都在并将持续关注与分析型数据相关的数据质量。管理事务型数据的质量和可靠性通常属于开发运营(DevOps)的领域,而站点可靠性工程和其他软件学科更关注由分析型数据构建的软件产品。
事务型数据
在运营过程中产生的数据,即组织日常持续运营过程中( https://oreil.ly/kZmui )所产生的数据。某一时刻的库存快照、客户曝光次数和交易记录都是事务型数据的示例。
分析型数据
在分析过程中用到的数据。分析型数据是由数据驱动的业务决策背后的数据类型。客户流失情况、点击率和在全球地区的曝光次数都是分析型数据的示例。
简而言之,事务型数据记录了来自实际业务流程中的数据,以便快速更新系统和流程,而分析型数据则被用于更可靠、更高效的分析。一种更简单的理解是:事务型数据在运行业务,而分析型数据在管理业务。鉴于分析型数据在某种程度上推动了商业智能的发展,而事务型数据则不然,人们很可能会觉得分析型数据对组织的成功更为重要或更为“核心”。但实际上,分析型数据往往依赖于事务型数据的转换和聚合。
这种事务型和分析型的区别,与联机事务处理(On-Line Transaction Processing,OLTP)和联机分析处理(On-Line Analytical Processing,OLAP)之间的比较相同,更多内容可参考 Designing Data-Intensive Applications (O'Reilly)一书。