前言
数据血缘是一个元数据地图,它跟踪数据管道中上游和下游依赖之间的关系,以说明数据的来源、变化方式以及向用户最终展示的位置。
什么是数据血缘?
通俗的讲,数据血缘就是映射关系:数据来自哪里、数据在整个管道中移动时如何变化以及向最终消费者展示的位置构建完毕,数据血缘将给数据团队带来极大的价值。
有时与数据映射(跨模型组合数据字段的过程)相混淆,数据血缘提供了数据如何在环境中移动的可视化。
企业级数据血缘将给数据团队带来以下价值:
- 了解特定资产的变化将如何影响下游依赖关系,因此他们不必盲目工作,也不必冒给未知利益相关者带来不受欢迎的意外的风险。
- 通过一目了然地查看可能导致报表查询中断的上游错误,可以更快地解决数据问题的根本原因。
- 向依赖下游数据消费者传达损坏数据的影响——当数据可能不准确时主动让他们了解情况,并在任何问题得到解决时通知他们。
数据血缘生命周期一目了然地显示了数据的采集和使用方式,以帮助数据团队了解和监控上下游依赖关系。虽然数据血缘对于现代数据技术栈来说并不新鲜,但在过去(例如 2010 年代中期左右),构建企业级血缘仍然是一个非常棘手的过程。
生成数据血缘需要识别数据资产、从数据源跟踪这些资产、记录所有这些源、映射数据在各种管道和转换中移动时的路径,最后查明数据在仪表盘和报表中的展现位置。
手动维护数据血缘,可以说是一种工作量相当大的负担。尤其是在当今大数据组件越来越复杂,血缘关系几乎不可能手动维护。
数据血缘类型
数据血缘有两种主要形式:表级血缘和列级血缘(也称为字段级血缘)。
表级血缘是最简单、最常见的数据血缘形式,它说明了数据环境中的各个表如何相互关联。虽然这有助于理解给定表的形成方式,但它无法告诉您表中数据的来源。
另一方面,列级数据血缘是数据集从加载到可视化的路径图。列级血缘是数据可观察性的重要组成部分,因为它使数据工程师能够快速追踪数据质量事件的根本原因到其源头,并进行影响分析以发现哪些下游依赖项可能受到影响。
数据血缘和可追溯性之间的区别
虽然数据血缘和可追溯性都涉及追踪数据的起源,但这两种做法的总体目的和受众有所不同。
数据血缘往往技术性很强,主要涉及通过数据生态系统中如何加载、转换和使用数据的详细映射,来支持管道优化和数据质量根本原因分析。另一方面,可追溯性倾向于满足给定业务领域的特定需求,它主要涉及验证信息的来源和准确性,以实现合规性。
虽然任何团队都可以根据需要利用可追溯性,但数据血缘通常只对数据产品经理和数据平台工程师等技术用户有用。
数据血缘的重要
数据血缘是有效解决问题的关键,通过了解表的上游和下游依赖性,我们可以更快地了解影响,通知利益相关者,并在发生问题时修复损坏的数据。
机器学习使供应商能够以以前通过手动流程不可能实现的方式大规模提供数据血缘,这是一件好事。
即使新工具不断涌现,如果数据血缘处理不当,它也可能只是美观而已。不幸的是,一些新的数据血缘方法更多地关注有吸引力的图表,而不是编制一个丰富、有用的数据地图。
每个团队都需要数据血缘吗?
答案是肯定的,如果你或者你所在组织是一个需要保证数据质量的数据团队,那么数据血缘是数据质量工具链中的重要工具。
对于数据量较小,数据源较少的情况下,当数据异常了,有的数据团队会通过解析数据的方式定位问题,但是一但数据源上升到几十个,源表上升到几百个,就必须要依赖血缘去定位问题了。
企业级数据血缘使团队能够扩展数据质量,并为企业数据团队提供有效解决数据质量问题和减少数据停机影响所需的资源。数据血缘还可以传达给定数据质量问题的影响半径,以便了解哪些数据资产受到了影响、谁在使用它们,以及在开始问题管理流程时需要关注哪些内容。
如果没有数据血缘,不断增长的数据团队就会承受收据质量问题带来的怒火。