数据治理工具:基于SQL图形化数据血缘系统的概念及设计
一、背景介绍
- 1、数据对于企业的重要性不必赘述;
- 2、目前文本数据的存储格式,大体分为两种:结构化和非机构化;
- 3、由于关系型数据库的广泛使用,大量数据采用结构化方式进行存储和加工。最为广泛的加工方式使用是SQL语言。
二、痛点
就代码本身而言,SQL已经做到足够简洁。
但随着业务需求复杂度的增长,数据的加工流程越来越长,且纵横交错。想了解数据起点与终点的关系,变得越来越困难。
这时候,假设当某一节点数据出现问题,需要向上查找原因,或向下分析影响时,往往只能通过分析脚本或调度作业的方式进行。这两种方式都有缺点,前者耗时易错,后者不够详细。
而数据出现问题,也只是数据治理中一个痛点而已。
三、解决方案
建立一套数据血缘系统。
使得用户不用再通过分析SQL代码,也可以轻松直观查询到数据节点之间的关系。
四、方案设计需求
数据血缘系统,应当满足以下功能:
- 1、用户可以不需要特别了解SQL也能使用,操作简单;
- 2、用户可以根据任何一个数据节点,快速地向上或向下追溯数据的加工路径;
- 3、数据节点的可追溯颗粒度要尽量的细。
五、系统设计
# 针对需求1:
- • 为了方便用户使用,需要有操作界面。
- • 为了使得界面能清晰直观的表达出数据血缘关系,本系统采用将SQL代码图形化的做法,形成代码矢量图。
- • 根据这个流程矢量图,用户可以清楚地看出数据加工的各个节点。
# 针对需求2:
- • 用户可以选中矢量图中任意节点,然后点击按钮,实现以此节点为起点(终点),向下(向上)追溯其影响到的其他节点路径。
- • 对于影响到的节点路径,在矢量图中应当使用不同的颜色标识出来,便于辨别。
# 针对需求3:
- • 数据库SQL加工的数据最小颗粒度是字段。
- • 因此,数据血缘系统可追溯的数据节点的最小颗粒度,也应该是字段级。
- • 为了实现这个目标,需要对SQL代码进行详细的解析,形成表级和字段级的数据血缘关系信息。
2020-03-30 15:27:12 | 张良 | 技术 & 提问 | 阅读991次