随着服务化进程的加速,越来越多的服务化横向拆分、数据库垂直拆分,如何行之有效的管理,成为了架构师(或技术经理)为之头痛的头等大事。
早在 2017 年,我曾写过一篇 #把越来越多的服务治理好才是当务之急,服务微不微可以慢慢来 # 的文章,使用略带吐槽的口吻,将我们在服务治理上的问题、挑战及解决手段一一的罗列。而在今年,一篇 #Service Mesh 是大方向,那 Database Mesh 呢?# 的文章在圈内引起了热议,文中提到了技术治理的另一种视角 —— 数据治理。
在我看来,想将杂乱无章的数据治理的仅仅有条,无论从成本收益,还是从技术投入来说,都比服务治理显得更麻烦、更复杂,但随着服务治理工作的深入,这却又是一项不得不翻越的障碍。
#在启动数据治理之前,先把数据之间的血缘关系搞明白 # ,五年前在大智慧时期的顺口溜,最近在数据治理的工作中,给我带来了一些启示,今天通过一篇短文的方式向大家进行下分享。
01. 什么是数据血缘关系?有什么用?
任何的数据,从产生、加工、融合、流转,到最终消亡,数据之间自然会形成一种关系。好比人类社会中的人际关系,类似的一种关系来表达数据之间的这种关系,称之为数据的血缘关系。
图 1. 结构化数据血缘关系的层次表达
与人类社会中的血缘关系不同,数据的血缘关系还包含了一些特有的特征:
归属性:特定的数据归属特定的组织(或个人),也就是谁是你爹,你是谁的儿子。
多源性:同一个数据可以有多个来源,一个数据可以是多个数据经过加工而生成的,也就是你可能有一个爸,还有一个妈。
可追溯性:数据的血缘关系,体现了数据的生命周期,也就是你从出生到老死的路线图。
相对之下,结构化数据血缘关系的层次结构比较简单,对于非结构化数据,如以文件服务器存储的数据来说,血缘关系的层次结构会略有不同。
图 2. 非结构化数据血缘关系的层次表达
不同层级数据的血缘关系,体现着不同的含义。所有者层次,体现了数据的提供方、需求方及来龙去脉。
数据血缘关系的作用,也可以理解为提供数据流转的各项信息,作为数据价值的评估、管理依据。
02. 这对数据治理又有什么帮助?
对于数据的血缘关系,可视化是成败的关键。想象一下,如果数据血缘之间的关系都无法用可视化呈现,那治理数据还有什么意义呢?
图 3. 当时的数据血缘关系可视化设想
当时的规划,是希望通过可视化,将规则、流向分布显示在图形上的不同位置,从而起到如下几个方面的作用:
追踪数据溯源:当数据发生异常,帮助追踪到异常发生的原因,平时也能帮助我们追踪数据的来源,追踪数据处理过程。
评估数据价值:要对数据价值进行评估,就需要有依据,数据血缘关系,可以从 #数据受众、数据更新量级、数据更新 # 频次等方面给数据价值的评估提供依据。
数据质量评估:数据的血缘关系图上,可以方便的看到数据清洗的标准清单,这个清单反映了对数据质量的要求。
本文转载自头哥侃码公众号。
原文链接:https://mp.weixin.qq.com/s/-G5n-J_fr31jHyY0OicCHA
评论 1 条评论