首页 > 其他分享 >什么是数据血缘,如何做好数据血缘分析?

什么是数据血缘,如何做好数据血缘分析?

时间:2022-08-22 18:34:47浏览次数:53  
标签:分析 流转 血缘关系 做好 血缘 数据 节点

大数据时代,数据的来源极其广泛,各种类型的数据在快速产生,也在爆发性增长,这导致了数据之间的关系也变得越发复杂。

因此对数据工程师来说,如何管理表之间、代码之间的复杂关系,从而更好地认识和理解业务系统与底层表的关系、底层表的表间关系,理清当前数据(字段、关键指标或者数据标签)从哪里来?到哪里去?搞清楚哪些下游系统在使用这些数据等成为一件很重要的事。

而要解决这个事,我们就不得不提到元数据管理中的数据血缘。数据血缘描述了数据的来源和去向,以及数据在多个ETL处理过程中的转换,因此,数据血缘是组织内使数据发挥价值的重要基础能力。今天小亿就来为大家分享下什么是数据血缘,以及如何做好血缘分析?

 

一、什么是数据血缘?

数据血缘,又称数据血统、数据起源、数据谱系,是指数据的全生命周期中,数据从产生、处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系。其记录了数据产生的链路关系,这些关系与人类的血缘关系比较相似,所以被成为数据血缘关系。

比如,数据A经过ETL处理生成了数据B,那么我们就说数据A与B有着血缘关系,且数据A是数据B的上游数据,同时数据B是数据A的下游数据。按血缘对象来分,可分为系统级血缘、表级血缘、字段(列)级血缘。不管是结构化数据还是非结构化数据,都必定存在数据血缘关系。

而数据血缘分析是元数据管理的重要应用之一,其梳理系统、表、视图、存储过程、ETL、程序代码、字段等之间的关系,并采用图数据库进行可视化展示。简单地说就是通过可视化展示数据是怎么来的,经过了哪些过程、阶段及计算逻辑。

 

二、数据血缘关系的4个特征

与人类社会中的血缘关系不同,数据的血缘关系包含4个特有的特征:

(1)归属性:数据是被特定组织或个人拥有所有权的,拥有数据的组织或个人具备数据的使用权,实现营销、风险控制等目的。

(2)多源性:这个特性与人类的血缘关系有本质的差异,同一个数据可以有多个来源。来源包括,数据是由多个数据加工生成的,或者由多种加工方式或加工步骤生成的。 

(3)可追溯:数据的血缘关系体现了数据的全生命周期,从数据生成到废弃的整个过程,均可追溯。

(4)层次性:数据的血缘关系是具备层级关系的,就如同传统关系型数据库中,用户是级别最高的,之后依次是数据库、表、字段,他们自上而下,一个用户拥有多个数据库,一个数据库中存储着多张表,而一张表中有多个字段。他们有机结合在一起,形成完整的数据血缘关系。

 

三、数据血缘分析主要应用在哪方面?

1.数据溯源

溯源,指的是探寻事物的根本、源头。我们分析处理的数据,可能来源很广泛,不同来源的数据,其数据质量参差不齐,对分析处理的结果影响也不尽相同。当数据发生异常,我们需要能追踪到异常发生的原因,把风险控制在适当的水平。

换句话说,依托于数据血缘的可塑性特点,根据血缘中的数据链路关系,可实现指定数据的来源、去向的追溯,可帮助用户理解数据含义、在全流程上定位数据问题、进行数据关联影响分析等,解决多层复杂逻辑处理后的数据难以理解、难以应用、出现问题难以定位的问题。

 

2.数据价值评估 

数据价值是数据管理的核心标准,不管是数据交易中的数据定价还是数据安全的保护等级,数据价值都是一个重要的参考因素。因此,如何准确地评估数据价值成为了企业面临的一大难题。 

传统的数据价值评估,往往完全依靠相关法规要求和业务经验,缺少在具体应用场景中的评估依据,数据价值评估脱离了数据的应用场景和真实的业务价值。而数据血缘则提供了一种基于数据实际应用的价值评估方法:使用者越多(需求方)、使用量级越大、更新越频繁的数据往往更有价值。

(1)数据受众:在血缘关系图上,右边的数据流出节点表示受众,亦即数据需求方,数据需求方越多表示数据价值越大;

(2)数据更新量级:数据血缘关系图中,数据流转线路的线条越粗,表示数据更新的量级越大,从一定程度上反映了数据价值的大小;

(3)数据更新频次:数据更新越频繁,表示数据越鲜活,价值越高。在血缘关系图上,数据流转线路的线段越短,更新越频繁。 

 

3.数据质量评估 

数据血缘清晰的记录了数据来源以及数据流转过程中的处理方式和处理规则,能实现对各个数据节点的分析和数据质量评估。

 

4.数据归档参考

数据血缘中记录了数据的去向,可清晰的掌握数据被消费的情况,一旦数据没有消费者,那也就意味着数据已经失去价值。此时,可以对数据进行进一步评估,考虑进行归档或销毁处理。

 

四、如何做好数据血缘关系分析? 

数据血缘分析作为数据血缘的应用方式,不是单纯的一种技术手段或一个工具,而是一个贯穿数据生命周期的过程,涉及流程、技术、产品等多维度的内容。在此,我们将数据血缘分析分为三大模块:数据血缘建设,数据血缘分析,数据血缘可视化。

1.数据血缘建设

数据血缘建设并不是去建设数据血缘关系,因为数据血缘关系是数据流转过程中自动产生的是生而有之的。数据血缘建设的目标是当这些生而有之的数据血缘关系产生时,能被及时、准确的记录和存储下来。因此,数据血缘建设并不是一个指定的动作,而是一种管理流程和数据意识,需要延伸到数据产生之前,从数据存储的设计开始。

数据血缘建设是数据血缘分析的前提条件,准确、完整、及时记录信息才能带来有效的血缘分析效果,考虑到部分数据源本身的数据血缘建设准备较差,在某些业务场景中需要人工介入进行梳理。

 

2.数据血缘分析

数据血缘分析针对数据流转过程中产生并记录的各种信息进行采集、处理和分析,对数据之间的血缘关系进行系统性梳理、关联、并将梳理完成信息进行存储。考虑到企业的数据庞杂问题,数据血缘分析往往需要借助工具或系统展开,实现血缘信息数据的自动采集、自动分析。

数据血缘分析通常会按数据血缘的层级进行,层级基于业务需求和某些数据特性可能有差别,常见的分析层级为应用(业务系统)级、数据(表/文件)级和字段级。数据血缘分析的目标是实现数据来源的精确追踪、流转过程的准确还原、数据去向的精准定位。

 

3.数据血缘可视化

血缘分析完成后,需要依靠可视化技术将分析结果清晰、直观地传递给用户,帮助客户进行二次分析和具体应用。数据血缘图谱是血缘分析中最常用可视化方案。

业务需求的差异将决定血缘分析层次和血缘层级的差异,进而体现在数据血缘图谱上,因此数据血缘图谱也许要基于数据血缘层级进行分层展现,直观的从应用层级、数据层级、字段层级呈现数据的血缘关系。

在具体的应用中,首先业务需求差异和可采集分析的血缘信息的影响,数据血缘图谱的呈现方式可能存在差异,但其整体形态基本一致:以某个数据为核心节点,体现该节点的数据来源、数据去向、流转路径以及路径中的处理方式和处理。因此,数据血缘可视化视图中应该当至少包含以下元素:

(1)数据节点

标记数据的具体信息,如所有者、层次信息、终端信息等,根据不同的血缘层次和业务需求,数据节点的信息有所有差异。根据数据类型的不同,数据节点有可以分为:主节点,数据流入节点、数据流出节点。

①主节点:主节点是数据血缘图谱的核心,是我们当前需要观察的数据,它只有一个,整个图谱呈现的就是它的血缘关系;主节点应该是可以且方便切换的。

②数据流入节点:数据流入节点标记主节点的数据来源,是主节点的父节点,它可能有多个甚至多层。

③数据流出节点:数据流出节点标记主节点的数据去向,是主节点的子节点,同样可能有多个或多层;在数据流出节点中有一种特殊的终端节点,数据到达终端节点后,将不再向别处流转。

 

(2)流转线路

标记数据的流转路径,通常从流入节点汇聚到主节点,再主节点扩散到流出节点。在流转线路中,不仅可标记出数据的流向和流转关系,还可以通过线路的粗细、长短等标记数据量级和更新频次。

 

(3)处理节点 

标记数据流转过程中的处理方式和处理规则,通常用于数据节点之间的流转线路中。通过处理节点,可以直观地了解到数据在两个节点之间流转时,通过什么样的规则进行了怎样的处理。

 

五、数据血缘分析时的注意事项

数据血缘分析时,需要考虑以下几个方面:

1.全面性

数据处理过程实际上是程序对数据进行传递、运算演绎和归档的过程,数据的流动性和数据间的复杂关系,将导致某一数据的细微变动引起多个系统的数据发生变化。为了确保数据血缘的完整性,必须将整个系统能够作为数据血缘的分析对象,真正做到追源头溯尾。

 

2.及时性

据和数据之间的关系可能是随时变动的 ,为了保证数据血缘的准确性和可用性,血缘分析必须与数据保持同步更新,确保数据血缘的分析结果面向最新的数据和数据关系。

 

3.适用性 

血缘分析技术和实现有多种,分析的广度、深度、维度也有不同,但所有的技术都是为需求服务的,血缘分析需要在实现需求目标的前提下展开。

 

六、小结

随着数据的爆发式增长,数据之间的关系也变得越发复杂。在这样的背景下,具备可塑性、归属性等特征的数据血缘将数据治理过程中发挥越来越大的作用。数据的血缘对于分析数据、跟踪数据的动态演化、衡量数据的可信度、保证数据的质量具有重要的意义。 

但数据血缘应用需要依赖丰富的可分析数据、强大的数据采集和血缘分析能力、清晰直观的血缘图谱,是一个贯穿数据生命周期的持续性工程。这里亿信华辰元数据管理平台EsPowerMeta就可以帮助你。

△亿信华辰元数据管理平台架构图

 

亿信华辰元数据管理平台EsPowerMeta是基于B/S架构的软件平台,架构分为5层,数据源层、采集层、数据层、功能层和访问层,其不仅适配各种数据库、各类ETL、各类数据仓库和报表产品,还适配各类结构化或半结构化数据源。 

 

另外,元数据管理模块还提供了丰富的元数据分析功能,包括血缘分析、影响分析、全链分析、关联度分析、属性值差异分析等,分析出元数据的来龙去脉,快速识别元数据的价值,掌握元数据变更可能造成的影响,以便更有效的评估变化带来的风险,从而帮助用户高效准确的对数据资产进行清理、维护与使用!

△全链分析

 

血缘分析可以满足许多行业(包括医疗、金融、银行和制造业等)对所呈现数据的特殊监管及合规性要求。

△血缘分析

 

最后,影响度分析,也是较为血缘关系应用的一部分,其用来分析数据的下游流向。当系统进行升级改造时,能动态数据结构变更、删除及时告知下游系统。通过依赖数据的影响性分析,可以快速定位出元数据修改会影响到哪些下游系统,哪些表和哪些字段。从而减少系统升级改造带来的风险。

标签:分析,流转,血缘关系,做好,血缘,数据,节点
From: https://www.cnblogs.com/luozhiheng/p/16613843.html

相关文章

  • 这数据库设计的_到位了
    users表中user_id:intorders表中user_id:varchar......
  • (转载)查询数据库版本
    原文地址:https://www.modb.pro/db/102225?utm_source=index_ai         ......
  • MySQL表结构快速转化成数据库设计说明书的表格格式
    大家平时在实际研发中,肯定遇到过编写数据库设计说明书时,需要将表结构转化成表格格式并插入到word文档中.这里推荐一种方式,借助navicat工具即可轻松实现:1.navicat......
  • postgresql去重,只取时间最新的一条数据【转】
     昵称: zjyss原文地址:https://www.cnblogs.com/zjyss/p/15701439.html 1.可以循环表取出相同字段的第一条去建立临时表或视图2.使用pg的row_number函数对相同字段记......
  • SQL查询重复数据
    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*from表名称wherepeopleIdin(select字段名from表名称groupby字段名havingcount(字......
  • 具名插槽-动态传入数据
    父组件:<template><!--nav-bar只给一个插槽动态传入数据--><nav-bar><templatev-slot:[position]><ahref="#">注册</a></template></n......
  • 什么是数据结构?
     数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素的集合。--百度 数据结构用途:解决问题方法的效率,根数据的组织方式有......
  • 学习历程--八大数据类型
    publicclassDemo02{publicstaticvoidmain(String[]args){//八大数据类型//整数intnum=10;//最常用bytenum2=20;......
  • 求区间第k小数 数据范围小的时候(100) 考虑dp
    华为云挑战赛1001求前n个区间分成m段的第(len-0.05*len)个小数#include<bits/stdc++.h>usingnamespacestd;voidread(int&x){ charc=0;x=0; while(!isdigit(c))......
  • 如何做好分支管理,保证高效CI/CD?
    摘要:一文讲述git分支管理策略。本文分享自华为云社区《如何做好分支管理,保证高效CICD?》,作者:华为云PaaS服务小智。引言CI/CD是DevOps的基础核心,做好CI/CD是保证能够频繁......