实体关系图 (ERD) 与数据血缘:相似之处和不同之处
数据驱动型企业收集并存储其运营各个环节的大量数据。随着数据量的增加,数据模型变得越来越复杂,查找和理解数据以便及时做出决策变得更加困难。
实体关系图 (ERD) 和数据血缘是使数据更易于管理的两个功能。下面我们将解释什么是 ERD 和数据血缘、它们有何不同以及它们为何重要。
ERD 和数据血缘:它们是什么
实体关系图 (ERD) 直观地说明了数据表之间的关系。通过清晰的数据关系概览,用户可以规划查询和连接可用数据的最佳方式。
传统上,ERD 由数据架构师创建和维护,声明关系数据库表的主键和外键约束。主键唯一地标识表中的行,而外键通过引用其他表的主键来建立表之间的关系,从而确保数据完整性和高效查询。
然而,随着 Snowflake、Databricks 和 BigQuery 等云数据仓库和数据湖的使用率不断提高,这些数据仓库不需要主键/外键约束,因此通常不存在数据仓库的 ERD 或数据模型图,而手动创建它们会耗费大量时间和资源。目前,现代工具可以通过从 SQL 查询历史记录中推断连接键和实体关系来生成 ERD。
另一方面,数据血缘追踪数据在系统间流动时的来源。此上下文对于变更管理、数据治理和数据质量方面的数据操作至关重要。虽然可以手动记录沿袭,但现代数据平台可以通过解析元数据(包括 DDL 或 DML SQL 查询)自动跟踪沿袭。
在我们深入比较这些工具并解释为什么它们一起使用效果最好之前,这里先快速概述一下它们的相同点和不同点:
实体关系图 (ERD)
实体关系图 (ERD) 是数据建模和架构的重要组成部分。它们显示不同数据之间的关系,从而轻松了解哪些不同的数据集已组合以及它们如何组合在一起。
使用 ERD 记录数据
在关系数据库中,实体对应于表。表中的列(组织想要收集的信息)称为属性。例如,如果一所大学有一个名为“学生”的实体,则该实体内将包含“学生姓名”和“学生专业”等属性。“课程”将是另一个实体。该实体内将包含“讲师”和“课程说明”等属性。
关系是实体之间的相互作用。它们可能是一对一、一对多或多对多。每个学生有多门课程,但只有一个专业。一位教师可能只教一门课程,但与 100 名学生有联系。实体关系图将所有这些信息以清晰、直观的格式呈现。它是一种鸟瞰视图,有助于数据库设计和调试,因为冗余和设计缺陷很容易被发现。
ERD 还可以增强内部沟通。ERD 的图形特性消除了利益相关者在使用不同词汇讨论同一主题时可能产生的混淆。
数据血缘:数据模型依赖关系
数据血缘追踪数据的来源和转换,确保可靠性、准确性和质量。它就像每个数据单元的个人历史。
虽然表级数据血缘仅跟踪表之间的数据移动,但列级数据血缘是一个细粒度映射,可为数据仓库和 BI 工具之间的每个表、列和仪表板提供上下文。
当您了解数据的来源、所有权、转换和依赖关系时,就可以追溯问题的根源。还可以在实施变更之前识别潜在的下游影响,从而预防问题。
数据血缘让您确信单一事实来源始终是准确且最新的。
数据血缘可视化数据流
数据血缘揭示了数据在数据库内和跨平台的过程,呈现数据血缘的常用方法是使用血统图 - 它可以直观地显示数据在数据管道中的流动情况。虽然这有助于了解数据如何从一个资产流向另一个资产,但它也有助于以更分层的视图列出下游依赖关系,以快速消化大量信息。
谱系层次结构使消化大量依赖关系变得更加容易。
数据血缘用例
数据血缘使高效的数据管理和治理成为可能。列级数据血缘的最常见用例包括:
根本原因分析:当管道中断时,数据血缘使团队能够快速追踪导致问题的转换并进行修复。
影响分析:数据血缘向数据团队展示了数据下游的具体使用方式,因此他们可以在进行更改之前避免管道问题。
自动化数据维护:列级数据血缘允许公司自动化其数据目录的日常维护,确保数据保持新鲜、准确和合规。
审计:审计员可以轻松跟踪和验证数据来源和移动,并可以了解其背景,支持数据完整性。
数据库优化:列级谱系可帮助团队识别可存档或弃用的很少使用的列。精简和删除过时的列可优化存储成本并加快查询速度。
X公司:利用数据血缘每年节省 200 个工程小时
这是一个真实的例子,展示了数据血缘如何优化业务运营。X公司 无法了解数据如何通过其 AI 驱动的系统流动,导致数据频繁中断、决策时间过长和人为错误率高。总而言之,该公司每月因数据管道效率低下而损失数百万美元。
在实施列级沿袭工具后,X公司团队可以跟踪跨表转换的数据。工程师可以在对管道进行更改之前看到潜在的下游影响。当问题确实发生时,可以追溯到问题的根源并进行纠正,从而使调试速度提高 36 倍。随着数据中断的显著减少,X公司每年可节省 200 多个数据工程小时。
比较 ERD 与数据血缘
ERD 和数据血缘是不同的工具,但具有共同的目标:增强组织数据团队对数据的理解、管理和有效使用。
这两种工具都提供了有价值的背景信息,有助于快速做出战略决策。它们都以逻辑方式呈现信息,从而简化故障排除和合规性。它们都提供了对数据结构和流程的可视性。
但是,每个工具都采用自己的方法来实现这些功能,并且每个工具都以自己的形式呈现数据。
了解数据结构和流程:ERD 通过说明实体(表)之间的关系,帮助我们了解数据在数据库中的结构。列级沿袭提供了有关数据在系统内和系统间流动和转换方式的见解。
改进数据管理:ERD 对于设计和维护高效的数据库结构至关重要,而列级谱系对于管理数据转换和确保整个生命周期内的数据完整性至关重要。
支持数据治理:通过提供清晰的关系和流程图,ERD 和列级沿袭都有助于加强数据治理实践。它们有助于确保以符合合规性标准和组织政策的方式处理数据。
促进整个组织的沟通和协作:ERD 和列级沿袭工具协调利益相关者(包括数据架构师、数据库管理员和业务分析师)之间的理解和协作。
提高运营效率: ERD 让数据生产者能够轻松查看不同数据集之间的可能联系以及如何准确地将它们连接在一起。Lineage 减少了了解现有数据流所需的时间,提高了变更管理效率,并减少了尝试了解数据来源所花费的时间。
实现明智的决策:ERD 和列级谱系均通过提供有关数据结构和流程的关键信息来帮助做出更明智的决策,确保决策基于准确可靠的数据。
充分利用数据血缘和 ERD 的优势
ERD 和数据血缘相结合,可帮助组织有效管理其数据。结合使用二者,团队可以清晰地了解数据的结构、关系和依赖关系,从而提高及时做出战略性业务决策的能力。
数据治理的 ERD 和数据血缘
列级数据血缘是数据治理的支柱。它通过提供数据来源的可追溯性以及它在数据仓库和 BI 工具之间的转换方式来支持法规遵从性。当发生错误时,数据血缘可以将问题追溯到源头。
ERD 可使整个数据模型清晰易懂,即使对技术水平较低的利益相关者来说也是如此,从而增强治理。这种清晰度有助于就质量和数据隐私等数据概念进行有效的沟通。它们还充当预警系统 - 在冗余和纠缠有机会导致数据错误之前就将其显现出来。这有助于组织利用准确的数据简化数据管理和运营。
用于数据文档的 ERD 和数据血缘
随着公司的发展和数据民主化,新的表格不断增加,数据模型也不断发展。手动建立列级沿袭或 ERD 需要大量资源,而且不可持续,因为数据模型的动态性质在不断变化。随着公司规模的扩大,手动跟上这些变化变得不可能。
借助现代数据治理平台,数据团队终于能够自动记录跨数据集的关键关系。这些见解不仅有助于在数据团队内共享知识和背景,还可以实现数据治理和数据管理工作流程的自动化,例如数据分类和通知。
ERD 和数据血缘的图形模型有助于可视化连接并提供对业务流程和数据模型的全面了解。这种可见性对于理解数据、确保准确性和做出明智的决策至关重要。通过了解数据在组织内的流动和交互方式,团队可以更好地管理资源、维护数据完整性并提高整体效率。
往期推荐
关于征集《信息技术 数据资产登记 通用要求》等两项团体标准参编单位和起草组成员的通知
数据基础系列:优化数据团队结构以促进业务增长
数据战略:理论与实践
谈谈预测分析在运营管理中的重要作用
如何将业务问题转化为数据科学问题
如何开展战略数据分析
大型集团企业数据治理实施的有效策略
如何设计更好的指标