一、引言
(一)数据与数据管理
数据是记录并保存客观事件的一种符号,是客观存在的资源。2020年4月9日,中共中央、国务院发布了《关于构建更加完善的要素市场化配置体制机制的意见》,意见中将数据定义为一种新型生产要素,与土地、劳动力、资本、技术要素并列为五大生产要素。
数据管理是伴随着信息化到数字化进程发展推进的,在企业未普及计算机时,早期的数据都是使用线下文本记录留存的,数据的查询使用不仅费劲而且容易丢失。当计算机开始商业化生产,从实验室走向社会,由单纯为军事服务逐步转变成为社会公众服务。政企单位的数据逐步由线下记录转为线上存储,当线上数据逐步增加,现代企业管理精细化逐步形成之后,对数据管理提出更高的需求,数据不仅要记录,还要在组织内部共享,数据之间要相互调用,以提升组织内部效率,数据管理的作用越发凸显。
(二)数据管理遇到了哪些问题?
进入数字化时代后,数据规模指数级增长,数据的价值日益凸显,随着越来越多的企业将数据纳入资产管理范畴,势必需要对数据进行精细化管理。对数据进行精细化管理,首先就是梳理清楚数据与数据之间的交错关系。数据通过生产、转换、流通和加工,又会生成新的数据,这种变化复杂无序。针对这些错综复杂的数据,在管理的过程中经常会遇到以下问题。
(1)数据对象间的关系难以展现,比如表中的数据从哪来,到哪去?
(2)数据质量问题不可追溯,数据质量问题的排查,需要沿着数据链路逐级排查,如果是多个数据源加工出来的复杂数据,判断数据问题的原因就更加困难。
(3)数据影响难以定位,公司有上百个系统,当某个系统的数据发生变化时,很难快速评估出会导致哪些下游系统受到影响以及找出这些数据覆盖的业务场景范围,所以就不能提前做出数据预测并给出解决方案。
二、为什么需要掌握数据血缘
(一)什么是数据血缘?
“血缘”源自人类社会,血缘关系是与生俱来的先天关系,在人类社会的早期就已存在,是最早形成的社会关系之一。而数据血缘是人类血缘的延展,DAMA、DCMM、维基百科、微软公司、IBM、Informatica公司等都对数据血缘有自己的定义。通俗地讲,数据血缘是数据全生命周期过程中的数据关系,包括数据特征的变化,即数据的来龙去脉,主要涉及数据的来源、数据的加工方式、映射关系以及数据的流出和消费。
(二)什么是数据血缘图谱?
单个表,单个系统的数据血缘关系,无法全面地展示公司数据在不同系统、数据库、应用程序之间的流转。比如我们想可视化展现客户信息从哪个系统哪个字段录入,进行了哪些加工,存到了哪,用到了哪些报表,报给了哪些监管部门,这就是数据血缘图谱。
这里面最核心的是各系统数据的血缘(也就是数据的流转关系),然后再根据需要结合数据可视化技术进行展示。而数据血缘关系的获取,则涉及到元数据的采集分析、SQL解析、甚至手工维护等。
(三)为什么我们需要掌握数据血缘?
我们来看一个例子,你是某大型企业的数据分析负责人,某天早上刚到公司,就收到业务部门领导的消息:我的管理驾驶舱报表数据又不对了,到底哪里的数据发生了变化?你需要给一个答复。你首先查到数据背后关联的指标多达28个,与昨晚ETL更新的数据做对比,发现其中有12个发生了变化,于是你排查了这12个数据,发现分别来自4个数据源,你分别找到这4个数据源的负责人员排查数据为何发生变化,最终找到了数据发生错误的原因,源头A录入了错误数据,导致流入管理驾驶舱的最终数据发生了错误,这时已经是晚上10点。
于是你开始思考能否将这些要排查的数据的流向都展示出来,发现异常数据时及时预警并标注。当我们看到某一个数据异常时,就可以通过线上溯源,准确找到和定位具体的数据问题,提高问题解决效率,这样将极大提升终端用户的使用体验。你描述的高效场景是一个美好的世界,这也是数据血缘使用的典型场景之一。
三、数据血缘分析及相关工具介绍
(一)数据血缘分析
我们知道,数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。而数据血缘分析就是一种找出数据中的血缘关系,用于全面追踪数据处理过程的技术手段。数据血缘分析主要包括3个方面。
(1)来源分析:来源分析反映数据的来源与加工过程,主要用于定位数据质量问题。
(2)影响分析:影响分析展示以某个数据为起点,该数据带来的影响,反映数据的流向与加工过程,主要用于需求迭代或数据修改的影响评估。
(3)全链路分析:全链路分析以某个数据为起点,展示该数据之前的数据来源,以及该数据之后的数据流向的全过程,其实就是把来源分析和影响分析进行结合。
(二)国内外数据血缘分析工具
(1)Apache Atlas平台(开源工具)
Apache Atlas提供元数据管理功能,用于识别、分类和管理数据资源,包括数据资源的标记和分类、数据资源间关系的建立、数据资源血缘关系的维护、数据资源使用规则的定义等。
(2)马哈鱼数据血缘平台(商业工具)
马哈鱼数据血缘平台是一款用于分析SQL语句,帮助用户在SQL环境中进行机器学习建模和推理,可轻松上手的数据血缘平台。马哈鱼数据血缘平台支持多种机器学习框架,包括TensorFlow、XGBoost、LightGBM等,并提供了可视化的工具来帮助用户分析和理解数据。
(3)数语科技SQLink数据链路监测平台(商业工具)
Datablau SQLink是数语科技2024年3月发布的独立的SQL血缘解析工具,其依托于Datablau 数据治理产品在大型企业大量复杂SQL的处理积累,拥有较高的SQL解析准确率和覆盖率。
四、数据血缘在保险行业的应用探索
(一)数据血缘如何助力提升监管数据合规
1.隐私保护
保险公司处理大量的个人数据(如客户的健康状况、财务状况等敏感信息),这些数据需要符合隐私保护法规。数据血缘能够帮助追踪敏感数据的流动路径,确保只有授权人员可以访问敏感数据,防止数据泄露或滥用。此外,数据血缘还可以帮助在发生数据泄露时快速定位数据泄露的源头。
2.数据报送时效
在保险行业,经常需要向监管部门报送数据及报表,这些数据通常涉及各业务环节或业务领域,需要进行数据整合,而且时效性要求一般较高。数据血缘有助于简化开发流程,尤其是在需要多种数据集进行整合和开发的场景下。当开发人员能够清晰地看到数据的流动路径和变换逻辑时,就能快速理解如何获取、处理和使用这些数据资源,减少了由于数据理解不清或信息不对称带来的开发延误。数据血缘的可视化和文档化效果能够大大加快数据开发的速度。
3.数据报送质量
数据质量是监管合规的一个重要方面,数据血缘可以帮助跟踪数据流转中的每个环节,及时识别数据质量问题并加以修正,尤其是在理赔、承保、风险管理等关键领域。
(二)数据血缘如何助力数据资源开发利用
在数据开发过程中,我们可以通过数据血缘技术提升数据开发效率,具体有以下应用场景。
1.提升查询效率
通过数据血缘确定表的上下游关系,可以了解表和字段所涵盖的业务范围,方便开发人员在查询业务场景时快速定位到对应的表和字段,从而提升开发查询效率。
2.提升调度性能
通过收集调度任务的开始和结束时间,可以了解任务ETL链路中的时间瓶颈。通过任务执行情况定位性能瓶颈,并调整任务的基线和资源分配,可以提升整条ETL链路的执行效率。
3.数据异常定位
在调度中发现数据异常时,可以利用数据血缘关系来跟踪数据的波动情况,快速定位数据异常的原因。
4.数据模型优化
通过对下游表和字段的使用频次进行统计分析,可以找出被广泛使用的部分,进而分析是否存在重复计算和资源浪费的情况。可以考虑将这部分数据建设成统一使用的事实表或维度表,或者包含计算的通用指标,从而优化数仓模型。
5.调度依赖的准确性判断
通过对比调度平台的调度关系元数据和收集到的血缘关系,可以及时判断调度任务的依赖是否准确。
6.模型变更影响预测
系统在上线前,通过数据模型版本升级变更信息,将其应用到全链路血缘,可生成影响报告事前通知相应责任人调整应对。
(三)数据血缘如何助力数据安全管理
1.防止数据泄露
数据血缘通过记录和可视化数据从源头到目标系统的流动路径,帮助跟踪数据的流向,确保每一步的数据访问都可以追溯。这在识别和防止数据泄露、滥用或未经授权的访问方面至关重要。如果某个数据集被异常访问或篡改,数据血缘可以帮助安全团队迅速识别问题的根源。
2.细化权限管理
数据血缘提供的数据流向和处理链路信息有助于完善权限控制。通过了解数据流转的各个环节,可以设置基于角色的数据访问权限,只允许有权访问特定数据的人查看或修改数据。这种精细化的权限控制能显著提高数据的安全性,减少因权限滥用或管理失误导致的数据泄漏风险。
3.漏洞管理与风险评估
数据血缘能帮助识别数据处理过程中的潜在风险点。例如,某个数据流可能涉及多个系统和多个用户,数据血缘可以帮助识别哪些环节可能成为攻击目标或数据泄露的薄弱环节。通过了解数据的流转和依赖关系,企业能够提前进行漏洞修复和风险评估。
4.数据恢复与灾难恢复
在发生数据丢失、系统故障或安全事件时,数据血缘能够帮助追溯数据的恢复路径。了解数据是如何从源头到达当前状态的,有助于制定有效的数据备份和灾难恢复策略,确保在发生问题时能够快速恢复数据并保证其安全性。
(四)数据血缘如何与人工智能等新技术结合应用
数据血缘与大模型(如大型语言模型、深度学习模型)和其他人工智能(AI)技术的结合,能够极大地提升数据处理、分析、合规、透明度、决策支持等多个领域的效率和效果。大模型在理解和生成自然语言、图像、视频等方面的能力,结合数据血缘的追溯和可视化功能,能够推动更加智能化和自动化的数据管理。
特别是在风险预测(如欺诈检测、信用评分等)中,大模型或AI技术具有强大的数据处理和模式识别能力。结合数据血缘,AI可以实时监控数据流动中的异常情况,自动识别潜在的风险点。数据血缘能够帮助AI更精准地识别出数据中不合常规的模式,并作出警报,降低数据风险。