/catalog/d340f5de37c84dd09c8d930e56c3996b//Document/281551607537733.html/Document/281181076697157.html/Document/280062157713477.html/Document/279702821789765.html/Document/279349031915589.html/Document/278973117923397.html/Document/277989656563781.html/Document/276955371413573.html/Document/276595065778245.html/Document/275179481653317.html

大数据测试中必须了解的概念之数据血缘

从下面这张表我们可以引出一个数据血缘的概念。

数据血缘

数据血缘:数据的来龙去脉,主要包含数据的来源、数据的加工方式、映射关系以及数据出口。

 

通俗来说数据血缘就是数据的来龙去脉,它主要做两件事情,第一件事情就是追根溯源,快速地查询出来我这个字段是从哪张表上来的,中间经过了哪些环节。第二个是反映了数据的变化过程。

上面这个图片我们可以看到从Table A到Table G,中间集成了很多其他的表。

数据血缘属于元数据的一部分,清晰的数据血缘是数据平台维持稳定的基础,更有利于数据变更影响分析以及数据问题排查。

数据血缘的范围:数据血缘单纯的数据角度来看包含的维度有数据库、表、字段、系统、应用程序,即数据存储在什么数据库的什么表,对应的字段是什么以及字段的属性,数据所属的系统以及与数据有关的应用程序。


数据血缘从业务角度来看包含的维度主要是数据所属业务线,涉及到业务便要梳理清楚数据的产生逻辑、数据的使用逻辑以及业务线之间的关联关系。

 

数据血缘可以可以通过程序解析和人工采集的方式获取。程序解析主要是面向存储过程、sql、视图以及已有的ETL过程。以一个数据加工的完整流程为例,每个数据加工的流程都通过一个唯一的标识进行标记,流程中的每一个环节都记录其前后依赖关系,程序将每一个环节的逻辑解析以后 根据依赖关系和流程便可以生成全流程的数据血缘。

 

人工采集可以是程序解析的一种辅助,也可以单独以这种方式发挥作用。与程序解析不同的是,人工采集的结果可以更准确与详实,即使是在程序解析可以实现极高的准确率的情况下也需要以人工的方式进行一次审核是比较合理的做法。