1.2.2 什么是数据血缘
“血缘”源自人类社会,指基于婚姻或生育形成的人际关系,例如父母和子女的关系、兄弟姐妹的关系以及其他亲属的派生关系。血缘关系是与生俱来的先天关系,在人类社会的早期就已存在,是最早形成的社会关系之一。血缘关系的远近取决于带有相同遗传基因的概率,可以分为一级亲属,即基因相同的概率为50%;二级亲属,基因相同的概率为25%;三级亲属,基因相同的概率为12.5%。人类的血缘关系是最基本和稳定的社会关系,是无法被外部环境改变的关系。
而数据血缘是人类血缘的延展,英文中称为Data Lineage。Lineage(血缘)一词通常用于指代血统,意味着“来自祖先的直系血脉”。根据微软公司的定义,Lineage被翻译为“数据沿袭”。文献中用到的类似“数据血统”“数据血脉”“数据继承”“数据谱系”等词汇,都指代数据血缘。在数据库表和字段中,Lineage用于追踪经过转换和加工后的数据的源头。例如,Power BI Service的数据流服务就提供了类似的数据追踪功能。
维基百科对数据血缘的定义:数据血缘包括数据的来源、发生情况以及随时间移动的位置。数据血缘提供了可见性,同时极大地简化了在数据分析过程中将错误追溯到根本原因的能力。
Techopedia网站对数据血缘的定义:数据血缘是一种数据生命周期,包括数据的来源以及随时间移动的位置,还包括数据在不同过程中产生的情况。数据血缘有助于分析信息的使用方式,并跟踪关键信息。
咨询公司IBM对数据血缘的定义:数据血缘用于跟踪数据流随时间的推移而发生变化的过程,它清晰地展现了数据的来源、变化方式以及数据在管道中的最终传送目的地。数据血缘分析工具提供了整个数据生命周期的记录,包括源信息以及应用于任何ETL或ELT过程的数据转换。这使得用户能够观察和跟踪数据旅程中的不同接触点,从而使组织能够验证数据的准确性和一致性。它通常用于获取有关历史过程的上下文以及将错误追溯到根源。
数据管理软件提供商Informatica对数据血缘的定义:数据血缘本质上是帮助确定组织数据来源的过程。它提供持续和不断更新的记录,记录数据资产的来源,以及在组织中的流动方式、转换方式、存储位置、访问者以及其他关键元数据。简单来说,数据血缘回答了“这些数据从何而来,又将流向何方”。它是对数据流的可视化表示,有助于跟踪数据从源头到目的地的路径。它解释了数据流中涉及的不同过程及其依赖关系,其中元数据管理对于捕获企业数据流、跨云和本地数据传输至关重要。
在国内,人们普遍认为数据血缘是数据全生命周期过程中的数据关系,包括数据特征的变化,即数据的来龙去脉,主要涉及数据的来源、数据的加工方式、映射关系以及数据的流出和消费。结合国内外理论基础,笔者认为数据血缘指在数据全生命周期过程中,一个数据到另外一个数据的继承传递,不同阶段、时点、节点的数据关系的传递,包含数据的来源、数据的加工转换、数据的传递,数据的映射关系等,如图1-1所示。例如在图1-1所示的表1中,数据A流转到表2形成数据B,最终再形成表3的数据C并提供给用户,那研究数据B时,我们清晰地知道数据B来自数据A,然后转换为数据C,而数据A、B、C之间形成了一个关系流向,我们就称之为数据血缘关系。数据血缘关系包括数据库、数据表、数据字段、数据系统、应用程序等之间的关系。数据血缘在很多情况下也称为数据基因、数据沿袭或数据图谱。本书重点讲述的是在数据库下存储的数据表及数据表对应的字段,核心是帮用户在某个节点上看数据时,能清晰地知道该数据从哪里来,要到哪里去。
图1-1 数据表流向图