如何构建数据血缘系统
1、明确需求,确定边界
在进行血缘系统构建之前,需要进行需求调研,明确血缘系统的主要功能,从而确定血缘系统的最细节点粒度,实体边界范围。
例如节点粒度是否需要精确到字段级,或是表级。一般来说,表级粒度血缘可以解决75%左右的痛点需求, 字段级血缘复杂度较表级血缘高出许多,如果部门人数较少,可以考虑只精确到表级粒度血缘。
常见的实体节点包括:任务节点、库节点、表节点、字段节点、指标节点、报表节点、部门节点等。血缘系统可以扩展数据相关的实体节点,可以从不同的场景查看数据走向,例如表与指标,指标与报表的血缘关系。但是实体节点的范围需要明确,不可无限制的扩展下去。
明确需求,确定节点粒度与范围之后,才可根据痛点问题给出准确的解决方案,不至于血缘系统越建越臃肿,提高ROI(投入产出比)。
2、构建元数据管理系统
目前市面上所有的血缘系统都需要依赖于元数据管理系统而存在。
元数据作为血缘的基础,一是用于构建节点间的关联关系,二是用于填充节点的属性,三是血缘系统的应用需要基于元数据才能发挥出最大的价值。所以构建血缘系统的前提一定是有一个较全面的元数据。
3、技术选型:图数据库
目前业内通常采用图数据库进行血缘关系的存储。
对于血缘关系这种层级较深,嵌套次数较多的应用场景,关系型数据库必须进行表连接的操作,表连接次数随着查询的深度增大而增多,会极大影响查询的响应速度。
而在图数据库中,应用程序不必使用外键约束实现表间的相互引用,而是利用关系作为连接跳板进行查询,在查询关系时性能极佳,而且利用图的方式来表达血缘关系更为直接。
4、血缘关系录入:自动解析and手动登记
自动解析:
获取到元数据之后,首先可以根据元数据表中的SQL抽取语句,通过SQL解析器可自动化获取到当前表的来源表【SQL解析器推荐jsqlparse】,并进行血缘关系录入。
手动登记:
如果当前表无SQL抽取语句,数据来源为手动导入、代码写入、SparkRDD方式等无法通过自动化方式确定来源表的时候,我们需要对来源表进行手动登记,然后进行血缘关系的录入。
5、血缘可视化
血缘系统构建完成后,为了能够更好的体现血缘价值,量化产出,需要进行血缘可视化的开发,分为两步:
(1)链路-属性展示:
根据具体节点,通过点击操作,逐级展示血缘节点间的链路走向与涉及到的节点属性信息。
(2)节点操作:
基于可视化的血缘节点与当前节点附带的元数据属性,我们可以设想一些自动化操作例如:
节点调度:直接基于血缘开启当前表节点的调度任务
属性修改:通过前端修改当前节点的元数据属性并保存
6、血缘统计分析
数据血缘构建完成后,我们可以做一些统计分析的操作,从不同层面查看数据的分布与使用情况,从而支撑业务更好更快更清晰。
以我们团队举例,在工作过程中,我们需要以下血缘统计用于支撑数据业务,例如:
数据节点下游节点数量排序,用于评估数据价值及其影响范围
查询当前节点的所有上游节点,用于业务追踪溯源
数据节点输出报表信息详情统计,用于报表的上架与更新
查询孤岛节点,即无上下游节点的节点,用于数据删除的依据
如何构建数据血缘系统相关推荐
- 流程图外部数据内部数据图形_数据治理工具:基于SQL图形化数据血缘系统的实现和使用...
之前文章,提出了基于SQL图形化数据血缘系统的概念和设计. 这里我们提出系统的实现和使用教程. 把这些做成了视频,放在了网站上:https://www.kexuejisuan.com/all_vedi ...
- 数据中台系统架构设计
架构总览 数据中台通常采用分层架构,各层应用采用微服务化方式构建.针对不同的行业,系统托管方式各不一样,比如传统企业更倾向于采用私有云或自建机房,小型互联网企业倾向采用公有云等:针对不同应用场景的不同 ...
- 【DataHub】 现代数据栈的元数据平台--如何将数据血缘关系写入DataHub
什么是Data lineage? 在大数据时代,系统的数据来源广泛,各种类型的数据快速产生且爆发性增长.从数据的产生.ETL .数据融合分析.数据应用直至最终消亡,在数据流转过程中数据之间的关联关系称 ...
- 【数据架构系列-01】数据架构之数据血缘:数据从哪里来,到哪里去
为了直观的感受数据血缘,先从网上找了两张典型的数据血缘的图.下图特点是按照数据仓库数据管理模型给出了基于表(实体)的数据血缘图. 此图是截取Solidatus软件生成的数据血缘图,该图与上图的区别在于 ...
- 2022数据血缘关系详解
在数据资产管理与数据治理领域,数据之间的血缘关系是一个绕不开的话题,数据血缘的完备程度也是评价一个企业数据中台成熟度的重要度量之一.到底什么是数据血缘,它对于数据工作者和数据使用者有哪些举足轻重的作用 ...
- 数据治理:数据血缘关系
数据血缘关系,从概念来讲很好理解,即数据的全生命周期中,数据与数据之间会形成多种多样的关系,这些关系与人类的血缘关系类似,所以被称作数据的血缘关系 从技术角度来讲,数据a通过ETL处理生成了数据b,那 ...
- 大数据治理入门系列:数据血缘关系
血缘关系在人类社会中扮演着重要角色.大多数家庭是基于血缘关系形成的,而家庭作为社会的基本单元,对维系社会稳定发挥着重要关系.其实,数据之间也存在类似的血缘关系.数据从产生.加工.流转,一直到消亡,每个 ...
- 报表系统搭建很难?其实选对数据填报系统就简单了一半_光点科技
随着企业信息化的发展,产生的数据越来越多,对报表的需求也越来越大.业务每天都在增加需求,报表开发每天都在加班,抱怨.随着时间的推移,公司的运营效率降低了.许多企业渴望建立一个完善的数据填报系统来解决报 ...
- 如何在不亏本的情况下构建道德数据科学系统?
Inspired by Google DeepMind's team, Shakir Mohamed, William Isaac, and Implikit's founder Marie-Ther ...
最新文章
- python自学视频教程-28岁想从零开始自学python,有哪些靠谱免费的视频?
- [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.27
- windows10 下 用图片手把手教你 卸载 cygwin
- python 内置运算
- 买一个二级计算机软件多少钱,计算机二级考试需要买课本吗
- python代码编写规范
- 项目中遇到的问题及解决办法
- Zookeeper动态更新服务器列表
- python标准数据类型复习
- SSD,单次多框检测器Single Shot Multibox Detector,超越YOLO和Fast-RCNN
- 强强联合!蚂蚁金服与新炬网络战略合作,共同致力于国产数据库的技术推广和生态建设
- (论文加代码)基于deap数据集的脑电情绪识别(二分类改为八分类)
- 单片机入门学习十五 STM32单片机学习十二 电容触摸按键
- “磁碟机”病毒详尽分析报告
- 启动 COMSOL 时发生意外错误:无法加载文件或程序集 ‘cstextrenderer_wpf‘
- Visual Studio Qt vs tools 下载教程及加速教程
- [极客时间] 时间复杂度和空间复杂度分析
- osu计算机科学硕士,OSU的CSE「俄亥俄州立大学计算机科学与工程系」
- find命令的基础用法以及按文件修改时间查找文件
- python3基础系列之六【输入输出file方法】
热门文章
- 阿里云m3u8播放,跨域问题
- 天猫精灵 python 控制_一个让小白也能让HomeAssistant接到天猫精灵的组件
- 基于随机森林算法进行硬盘故障预测
- python爬取电影网站存储于数据库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)...
- umy-ui表格如何获取滚动条高度
- c语言 设圆半径r,圆柱高h,求圆周长、圆面积、圆柱体体积
- 鄂尔多斯这名“老赖”被抓了!
- 百度音乐盒案例(混合方式开启服务)
- 2011年一道高考题数学(新课标全国卷)
- Pytorch详解NLLLoss和CrossEntropyLoss