数据治理005-血缘关系

news2024/12/25 12:18:10

数据血缘是元数据产品的核心能力,但数据血缘是典型的看起来很美好但用起来门槛很高的技术,只要你采买过元数据产品就知道了。这篇文章对数据血缘的特征、价值、用途和方法做了系统阐述:
1、特征:归属性、多源性、可追溯及层次性
2、价值:数据价值评估、数据质量评估及数据生命周期管理
3、用途:合规需求、影响分析和质量问题分析、数据安全和隐私、迁移项目及自服务分析
4、方法:自动解析、系统跟踪、机器学习方法及手工的收集
数据血缘获得的方法看,自动解析基本是不靠谱的,机器学习方法还处于设想阶段,手工收集及时性,一致性很差,系统跟踪极大依赖于规范化管理能力和工具的集成能力,但却是我比较认可的方法,要建立数据血缘一定要具体场景导向、小处着手,不要一下子想着搞个血缘全量,凡是理想化的做到最后大多做了个寂寞。

一、什么是数据血缘?

数据血缘的定义

数据血缘(Data Lineage),指的是在数据的产生、ETL处理、加工、融合、流转到最终消亡的过程中,数据之间自然形成的一种类似人类血缘的关联关系。简单来说,就是数据之间的上下游来源去向关系——数据从哪里来,到哪里去。

而在实际数据的运用中,从数据角度厘清数据的血缘关系,即弄清数据存储在什么数据库的什么表,对应的字段是什么以及字段的属性;从业务角度厘清数据的血缘关系,即了解数据所属业务线、业务数据的产生逻辑、数据的使用逻辑以及业务线之间的关联关系。

2. 数据血缘关系的4大特征

1)归属性。一般来说,特定的数据归属于特定的组织或者个人。
2)多源性。同一个数据可以有多个来源(多个父亲);一个数据也可以是多个数据经过加工生成的,而且这种加工过程可以是多个。
3)可追溯性。数据的血缘关系体现了数据的生命周期,体现了数据从产生到消亡的整个过程,具备可追溯性。
4)层次性。数据的血缘关系是有层次的。对数据进行分类、归纳、总结等描述信息又会形成新的数据,不同程度的描述信息形成了数据的层次。

3. 数字血缘关系图例

在这里插入图片描述

数据血缘的基本概念

数据血缘关系,顾名思义描述的是数据之间的关联性。这种关系并不是简单记录数据的流动轨迹,而是具体地揭示了数据在采集、处理、存储、共享和应用过程等整个数据生命周期中,每一个环节的状态和流动的全面映射,涵盖了数据的来源、流向和责任归属等,是确保数据治理有效性的基石。
在具体实践中,数据血缘关系分为三种类型:

1.向上血缘(Source-to-Target Mapping):

主要是追溯数据的原始来源,比如基本信息的录入、初始采集点等。了解数据的“根”,对于验证数据的真实性、评估数据质量以及在出现问题时进行根源分析至关重要。

2.向下血缘(Target-to-Source Mapping):

主要是指数据去向,比如数据流转中是如何被各系统、报告或分析所使用。这有助于监控数据的使用情况,确保数据被正确解读和应用,同时也便于评估数据变更对下游系统的影响,提前规避或减小潜在错误传播的风险。

3.双向血缘:

是上述两者之间的桥梁,揭示了数据在处理链路上的相互作用和依赖。它强调了数据处理过程中各步骤之间的复杂互动,对于优化数据流程、识别关键依赖关系以及在系统更新或迁移时,对于保持数据的连续性具有不可估量的价值。

数据血缘关系在数据治理中的关键作用

1.提升数据质量。

在数据治理中,数据质量问题是最常见的问题,会导致数据分析结果错误,从而影响决策和运营。在数据治理过程中,数据元素之间的关系很容易被忽视,数据血缘关系分析则能够揭示数据元素间的深层关联,帮助我们更好地理解数据的来源、处理历史和变化情况。通过实时监控数据质量并发出预警,可以及时发现并纠正数据异常或错误,确保数据在整个生命周期中保持准确性和完整性。

2.保障数据安全。

在数据治理中,数据安全与合规性问题是重要组成部分,包括数据泄露、数据滥用、数据隐私保护等。数据血缘关系记录则是实现数据安全与合规性的关键,它帮助我们全面了解数据的流转路径,有助于加强数据安全措施,通过监控数据流向,防范敏感数据得到适当保护,从而确保数据的安全性和合规性。

3.优化数据管理流程。

数据管理流程的完善与否直接关系到数据的质量和一致性。数据血缘关系通过标识数据源、数据处理、存储和应用的各个环节,促进了数据管理流程的优化,确保了数据的可追溯性和可审计性。同时可以帮助我们识别和清除不再使用或价值低的数据,释放存储和计算资源,从而降低成本。在实际应用中,数据血缘关系可以辅助进行数据问题排查与运维,快速定位并解决问题,从而减少业务影响和损失。

4.挖掘数据价值。

数据治理的目标是将数据转化为支持业务决策的有用信息。在数据治理中,数据的来源和去向是非常重要的。数据来源决定了数据的质量和可信度,而去向则决定了数据的价值和利用效率。数据血缘关系通过追溯数据的历史和去向,帮助我们深入理解数据的质量、价值和潜在用途,有效管理和控制数据资产,提升数据的利用效率。同时,数据血缘也是数据产品和应用体验提升的重要支撑,有助于增强业务对数据准确度的信任。

5. 提升数据问题排查效率

数据从生产到赋能业务应用,会经过很多的处理环节,业务端报表或数据应用服务异常时,需要第一时间定位问题,排查修复。如果靠一层一层的人肉翻代码效率非常低下,一方面耗费过多的人力与时间资源,另一方面问题的解决时间越长,对业务影响和利润的损失越大。

基于数据关系,加以血缘的可视化的展现形式,可以直观地监测数据的生产链路,以及各个环节的异常情况。

6. 优化数据资产管理成本

随着业务地发展数据不断增长,只增不减的任务和数据表会不断加大数据资源的投入和管理成本。很多时候,企业不是不愿意做数据治理,而是缺少数据治理的依据,贸然下线数据库可能会带来业务的重大影响,不如一直维持现状。

构建全面准确的全链路数据血缘视图,就可以找出数据上下游应用方,做好沟通和信息同步。对于长期没有调用的服务,可以及时做下线处理,节省数据成本。

7. 提升数据产品及应用体验

数据部门经常被业务Diss数据是不是有问题,长此以往,业务部门对数据准确度的信任降低,部门之间的沟通协调效率更差。

利用数据血缘关系,可以在数据产出任务层面对数据质量的准确性、一致性、及时性、完整性等维度进行监控覆盖,设置报警机制,对下游应用进行通知提醒。这么做,一方面为数据的错误即时预警,通知数据部门迅速响应,另一方面也降低了业务利用错的数据做错误的决策的可能性。挽救了企业可能会出现的损失。

8. 方便确认数据处理逻辑

业务部门在使用数据时,有时候需要确认数据口径和加工逻辑是什么,是否符合自己的需求,通过血缘的可视化展示,可以方便业务部门查看数据的处理过程。

实现数据血缘关系的方法

实现数据血缘关系的方法有很多种,包括基于元数据的方式、基于数据流图的方式、基于数据仓库的方式等。每种方法都有其优势和局限,在实际工作中应结合工作的具体需求、现有技术和资源进行选择。

1.基于元数据的方式实现。

该方式主要是通过定义一系列元数据标准,包括数据源名称、数据源类型、数据格式、数据来源、转换规则、数据所有者及更新频率等信息,系统构建起数据元素之间的关系图谱。这种方式主要依赖于现有的数据库管理系统和ETL工具的抽取功能,灵活且易于实施,但其准确性和应用深度受限于元数据的质量和完整性。

以常用的关系数据库来说,外键(Foreign Key)不仅是在两个表之间建立链接,还是用于维护表之间数据完整性的约束。假设有两个表:Customers和Orders。Customers表包含客户信息,Customer ID为主键列,而 Orders 表包含订单信息。从Orders表定义脚本可知,FOREIGN KEY (CustomerID) 指定了 Orders表中的 CustomerID 列为外键,用于链接客户与订单的关系。
在这里插入图片描述

在数据库中,外键和数据血缘虽然是两个不同的概念,但它们在数据管理和维护中存在一定的联系:

(1)数据依赖性:外键定义了表之间的依赖关系,这是数据血缘分析中的一个关键部分。通过外键,我们可以了解哪些表的数据依赖于其他表的数据。

(2)数据流:在进行数据血缘分析时,外键可以帮助我们追踪数据在不同表之间的流动。例如,Orders表中的CustomerID是Customers表的外键,那么我们可以知道Orders表的数据来源于Customers表。

(3)数据完整性和一致性:外键通过维护数据的引用完整性,间接支持数据血缘的准确性。如果数据的来源或结构发生变化,外键约束可以帮助我们识别和解决数据不一致的问题。例如,外键约束确保了Orders表中的每个Customer ID值都必须在Customers表的Customer ID列中有对应的值。如果尝试插入一个在Customers表中不存在的Customer ID 到Orders 表,数据库将拒绝这个操作。

由本例可知,在实际应用中数据血缘工具和数据库管理系统(DBMS)结合使用,能够提供更全面的数据分析和维护能力。通过外键和数据血缘的结合,数据库管理员和数据分析师可以更好地理解和管理数据的生命周期。

2.基于数据流图的方式实现。

数据流图(DFD)是以图形化的方式展示数据的流动和转换过程,帮助我们清晰直观地看到数据的起点和终点,以及数据在组织内部的流动路径,可以快速定位问题源头、识别潜在问题和风险。这种方法非常适合可视化复杂的、具有多层级数据处理的系统结构和数据处理流程。如图简单举例对比脚本和数据流图两种方式。
在这里插入图片描述
在这里插入图片描述

3.基于数据仓库的方式实现。

该方式主要是通过建立集中式的数据存储库,整合来自多个源系统的数据,记录数据的来源、加载日期、转换逻辑和历史版本等,实现对数据血缘关系进行可视化和管理,用于支持医院进行决策支持、数据分析和生成报告。同时数据仓库提供了丰富的历史数据和强大的查询能力,使得追溯数据血缘成为可能。

实施数据血缘关系的主要步骤

1.建立数据血缘关系模型

数据血缘关系模型是描述数据元素之间的关联关系和数据流动路径的模型,可以更好地理解数据的来源和去向,以及数据在处理和分析过程中可能发生的变化和修改。建立数据血缘关系模型,首先需要明确组织内的数据业务,按照业务、系统来源等进行分类;其次确定核心数据实体及其属性,包括主数据、生产数据、衍生指标等,并考虑数据元素间的关系类型、生命周期和版本控制等因素,包括各个环节之间的依赖关系和交互作用;再利用流程图或定向图等合适的工具绘制数据从源到目标的整体流动路径,包括数据处理、分析、报告生成等环节。

2.确定数据血缘关系规范

数据血缘关系规范是描述数据血缘关系模型中各个元素之间关系的规则和约束,以确保数据的准确性和一致性,提高数据治理的效率和质量,为后续的数据分析和使用提供基础。包括为数据实体、流程和系统制定统一的命名规则,增强可读性和一致性;确定数据质量标准,如数据清洗、验证规则等;同时记录影响数据处理和变化的业务逻辑等文档规则,确保数据血缘能真实反映出实际数据操作过程。

3.优化数据血缘关系数据结构

数据血缘关系数据结构包括实体数据、关系数据和元数据三部分。实体数据描述了数据的物理属性,需要包含数据格式、长度、精度等足够的属性信息,以便实现精确查询;关系数据描述了数据之间的关联关系,需要使用标准化的标识符来明确实体间的关系;元数据描述了数据的属性、定义、来源等信息,需要包括技术元数据和业务元数据,同时保证其处于最新状态。优化数据血缘关系数据结构,可以提高数据的查询效率和可维护性,确保数据的完整性和可追溯性。

4.维护数据血缘关系

当前,数据需求和数据的使用方式在不断变化,这就需要不断改进数据血缘关系以适应新的数据需求和业务场景,因此数据血缘关系模型也应该是一个动态的、可扩展的、易于维护的模型,通过建立数据追踪机制,实现任何对数据结构、处理逻辑的变更都应当及时触发血缘关系的审查和更新;与数据质量管理相结合,利用自动化工具实现监控数据流和数据质量,发现异常应当立即触发数据审计;定期进行数据血缘关系的维护,及时更新数据的关联关系和变更历史以确保数据的质量和可靠性。此外通过提升数据团队对数据血缘关系重要性的认识,增强其责任感,同时采用定期回顾并优化数据血缘关系模型和管理流程,通过不断迭代改进以确保其时效性和实用性。

综上所述,数据血缘关系为追踪数据生命周期提供了一种系统化的方法。这种关系将数据治理转变成了一个动态且持续进化的过程,而非单一的静态事件。因此,数据血缘在数据治理领域的重要性日益凸显,它要求我们持续地审视并优化数据管理策略,以适应业务需求和技术环境的不断演变。深入掌握数据血缘关系,并将其有效融入实践当中,对于构建一个健康、稳固且可持续的数据生态系统而言,是至关重要的。

数据血缘总结与思考

厘清数据的血缘关系,就是厘清数据之间的上下游来源去向关系。企业构建全面准确的全链路数据血缘视图,就可以找出数据上下游的应用方,加快数据部门对业务数据报错的debug速度,降低企业决策的失误;也可以及时对长期无用的数据库或报表进行下线处理,节省数据管理成本。

数据集成工具:
FineDataLink:一款数据集成工具。它专注于帮助企业进行数据集成和同步,确保数据的高效流动和一致性。通过FineDataLink,企业能够将来自不同数据源的数据整合在一起,建立起完整的数据血缘关系。这样,企业可以更好地理解数据的来源、变化和流向,梳理和管理数据血缘关系,提高数据质量和可信度。
在这里插入图片描述

引用:
数据治理:数据血缘关系!
什么是数据血缘?数据血缘分析对企业数据治理的重要性!
什么是数据血缘?数据血缘分析对企业数据治理的重要性!
数据血缘关系(转载)
数据资产与治理:浅谈数据血缘的作用与价值
构建数据血缘的解决方案
构建数据纽带:全链路血缘
数据血缘在安全大数据中的重要性
数据治理中的数据血缘关系是什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2172756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DOM元素导出图片与PDF:多种方案对比与实现

背景 在日常前端开发中,经常会有把页面的 DOM 元素作为 PNG 或者 PDF 下载到本地的需求。例如海报功能,简历导出功能等等。在我们自家的产品「代码小抄」中,就使用了 html2canvas 来实现代码片段导出为图片: 是不是还行&#xff…

【项目经验分享】深度学习自然语言处理技术毕业设计项目案例定制

以下毕业设计是与深度学习自然语言处理(NLP)相关的毕业设计项目案例,涵盖文本分类、生成式模型、语义理解、机器翻译、对话系统、情感分析等多个领域: 实现案例截图: 基于深度学习的文本分类系统基于BERT的情感分析系…

RabbitMQ 界面管理说明

1.RabbitMQ界面访问端口和后端代码连接端口不一样 界面端口是15672 http://localhost:15672/ 后端端口是 5672 默认账户密码登录 guest 2.总览图 3.RabbitMq数据存储位置 4.队列 4.客户端消费者连接状态 5.队列运行状态 6.整体运行状态

【SpringCloud】环境和工程搭建

环境和工程搭建 1. 案例介绍1.1 需求1.2 服务拆分服务拆分原则服务拆分⽰例 1. 案例介绍 1.1 需求 实现⼀个电商平台(不真实实现, 仅为演⽰) ⼀个电商平台包含的内容⾮常多, 以京东为例, 仅从⾸⻚上就可以看到巨多的功能 我们该如何实现呢? 如果把这些功能全部写在⼀个服务…

基于大数据技术的足球数据分析与可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

java计算机毕设课设—博网即时通讯软件(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—博网即时通讯软件(附源码、文章、相关截图、部署视频) 博网即时通讯软件是一款功能丰富的实时通讯平台,旨在提升用户的交流效率与体验。在服务器端,该软件支持运行监控功能&#…

Java中的Junit、类加载时机与机制、反射、注解及枚举

目录 Java中的Junit、类加载时机与机制、反射、注解及枚举 Junit Junit介绍与使用 Junit注意事项 Junit其他注解 类加载时机与机制 类加载时机 类加载器介绍 获取类加载器对象 双亲委派机制和缓存机制 反射 获取类对象 获取类对象的构造方法 使用反射获取的构造方法创建对象 获…

无环SLAM系统集成后端回环检测模块(loop):SC-A-LOAM以及FAST_LIO_SLAM

最近在研究SLAM目标检测相关知识,看到一篇论文,集成了SC-A-LOAM作为后端回环检测模块,在学习了论文相关内容后决定看一下代码知识,随后将其移植,学习过程中发现我找的论文已经集成了回环检测模块,但是我的另…

Postgresql源码(136)syscache/relcache 缓存及失效机制

相关 《Postgresql源码(45)SysCache内存结构与搜索流程分析》 0 总结速查 syscache:缓存系统表的行。通用数据结构,可以缓存一切数据(hash dlist)。可以分别缓存单行和多行查询。 syscache使用CatCache数…

Hadoop框架及应用场景说明

Hadoop是一个开源的分布式系统基础架构。由多个组件组成,组件之间协同工作,进行大规模数据集的存储和处理。 本文将探讨Hadoop的架构以及应用场景。 一Hadoop框架 Hadoop的核心组件包含: 1. Hadoop分布式文件系统(HDFS&#xff…

windows10使用bat脚本安装前后端环境之msyql5.7安装配置并重置用户密码

首先需要搞清楚msyql在本地是怎么安装配置、然后在根据如下步骤编写bat脚本: 思路 1.下载mysql5.7 zip格式安装包 2.新增data文件夹与my.ini配置文件 3.初始化数据库 4.安装mysql windows服务 5.启动并修改root密码(新增用户初始化授予权限&#xff09…

浅拷贝深拷贝

📋目录 📚引入📚浅拷贝📖定义📖实现方式📖特点 📚深拷贝📖 定义📖实现方式📖特点 📚拓展📖Object类✈️toString()方法✈️equals()方…

预防工作场所的违规政策

违规政策是指未经管理层制定或批准的工作场所政策。 它们也可能直接违反公司政策。如果管理不善,这些政策可能会对您的业务产生负面影响。 最常见的流氓政策来源是 试图绕过现有政策框架的员工,或 经理们未经高层领导批准,擅自制定自己的…

《凡人歌》中的IT职业启示录

《凡人歌》是由中央电视台、正午阳光、爱奇艺出品,简川訸执导,纪静蓉编剧,侯鸿亮任制片,殷桃、王骁领衔主演,章若楠、秦俊杰、张哲华、陈昊宇主演的都市话题剧 ,改编自纪静蓉的小说《我不是废柴》。该剧于2…

基础漏洞——SSTI(服务器模板注入)

一.SSTI(服务器模板注入)的出现,框架漏洞 首先可以通过SSTI(Server-Side Template Injection)从名字可以看出即是服务器端模板注入。有些框架一般都采用MVC的模式。 用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对…

解决 Java 中由于 parallelStream 导致的死锁

并发性是软件开发的福音,也是祸根。通过并行处理提高性能的承诺与错综复杂的挑战相伴而生,例如臭名昭著的死锁。死锁是多线程编程世界中的隐患,它甚至可以使最强大的应用程序陷入瘫痪。它描述了两个或多个线程永远被阻塞,相互等待…

FOC矢量控制

目录 前言一、FOC简介1.1 FOC是什么1.2 FOC框图介绍 二、FOC坐标变换2.1 电流采集2.2 Clarke变换2.3 Park变换 三、闭环控制3.1 电流环控制3.3 速度环控制3.4 位置环控制 四、SVPWM原理4.1 空间矢量合成4.2 SVPWM法则4.3 MOS开关方式4.4 矢量作用时间 前言 本文主要介绍无刷直流…

未来医疗:从医技数字化2.0到全局变革

斯蒂芬•申弗(Stephen C. Schimpff)的《医疗大趋势:明日医学》被认为是全球第一本系统介绍未来医疗的权威著作。在书中,作者认为基因组学、手术技术革新、干细胞、数字医疗等关键技术将驱动医疗变革的发生,全面提升人类…

OpenAI o1-preview:详细分析

OpenAI 终于打破沉默,发布了万众期待的 “o1-preview”。其中有很多内容值得解读。 作为一家以 LLM 为生的人工智能初创公司,我们想知道这个新模型的性能如何,以及它能如何帮助我们改进产品。 因此,我花了一整天的时间来实验这个…

(JAVA)队列 和 符号表 两种数据结构的实现

1. 队列 1.1 队列的概述 队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表。 它按照先进先出的原则存储数据,先进入的数据,在读取时先被读出来 1.2 …