数据管理DMS的增强E-R功能基于DMS自研的统一Catalog的元数据采集引擎、列算子血缘解析引擎(解析字段间关联、依赖和影响关系的引擎)和数据资产知识图谱构建等核心能力,可清晰地展现您名下某个数据库内资产之间的关联关系。本文介绍了增强E-R功能的优势、应用场景以及使用方法。
前提条件
支持的数据库实例类型:RDS MySQL、RDS PostgreSQL、RDS MariaDB、PolarDB MySQL版、PolarDB PostgreSQL版、AnalyticDB for MySQL、AnalyticDB for PostgreSQL。
数据库实例所在地域:华东1(杭州)、华北2(北京)、华东2(上海)、华南1(深圳)、华北3(张家口)、华北1(青岛)、西南1(成都)、华北5(呼和浩特)、华南2(河源)、华北6(乌兰察布)、华南3(广州)、华东6(福州)、华东5(南京)。
数据库实例的管控模式为安全协同。管控模式的详细信息,请参见管控模式。
背景信息
E-R图(Entity Relationship Diagram)也称实体关系图,是一种用来描述实体、属性和关系的模型。数据库结构设计阶段需要绘制数据库的E-R图,并将E-R图转换为多张数据库表,存储各表的主、外键。E-R图能较好的描述业务数据中的关联关系、数据库存储表和字段之间的依赖和关联关系,并通过此关系将业务或数据库存储的逻辑关系沉淀到数据库设计中。
随着业务规模的增大和数据库外键性能的降低,越来越多的系统设计采用应用系统来保障业务之间的依赖关系,导致数据库的外键信息并不会真正的沉淀到数据库外键设计上,不易通过实际数据库的外键信息看到业务数据表中的逻辑关系,进而影响您梳理数据库内的表之间真实的逻辑关系。
数据管理DMS的增强E-R可以清晰地展示出业务数据之间、数据库存储表和字段之间的关联、依赖和影响关系,并将此关系通过表结构中的逻辑关系沉淀到数据库设计中。
应用场景
快速梳理出数据库内数据间的关系。
导出增强E-R图,作为项目数据设计的资料。
通过查看敏感数据的传递方式,避免敏感信息二次加工后泄露。
通过查看数据之间的依赖关系,尽早发现数据变更的风险。
通过查看数据之间的关联关系,可辅助构建数仓宽表。
通过查看数据之间的加工关系,查看数据的加工链路。
通过查看数据之间的引用关系,识别数据库中的冷、热资产。
注意事项
此功能开通后的T+1日,才可查看E-R图。
增强E-R仅可感知到在DMS中输入或变更的数据表、字段信息,并将其之间的关联、影响和依赖关系展示在页面,感知不到在程序代码等其他端输入或变更的信息。
费用说明
该功能不收费。但该功能仅支持安全协同模式的实例使用,安全协同管控模式是计费商品。
功能优势
DMS的增强E-R与传统E-R的构建方案不同,除了具有传统E-R的能力,还具有基于DMS自研的统一Catalog的元数据采集器、列算子血缘解析器和数据资产知识图谱的构建能力,这些能力可以帮助您挖掘出数据资产之间更多潜在的关联关系。
DMS构建了百亿级别以上的数据节点和关系的资产图谱,结合多种数据资产业务应用场景,并提供对应的查询和可视化服务。
使用方法
传统E-R
DMS具有传统E-R能力,可以基于数据库中的物理外键构建E-R图。如下操作步骤为您演示如何实现传统E-R。
- 登录数据管理DMS 5.0。
单击首页左侧的数据库实例,在实例列表中选择目标实例。
单击目标实例,左键双击目标数据库名称,进入SQL Console页面。
在该页面构建测试数据。分别为表ods_huiyuan_t1(简称t1)、ods_huiyuan_t2(简称t2)、ods_huiyuan_t3(简称t3)、ods_huiyuan_t4(简称t4)和ods_huiyuan_fk。在SQL Console页面执行如下SQL:
T+1日后,在SQL Console页面查看增强E-R。查看的具体操作,请参见查看增强E-R。
在此基础上,还具有列算子血缘解析、任务编排的能力,并且可以通过这三种能力实现DMS的增强E-R功能。如下介绍实现DMS增强E-R功能的三种方式及过程。
列算子血缘解析E-R
列算子血缘解析E-R是基于DMS自研的列算子血缘解析器能力构建,可以将字段之间的关联、依赖及影响关系纳入E-R图谱。如下操作步骤为您演示如何通过列算子血缘解析E-R能力实现增强E-R。
将表ods_huiyuan_t1与ods_huiyuan_t3的ID进行关联,生成一个宽表。在SQL Console页面执行如下SQL:
对t4进行一次数据加工,生成一个新的表depend。在SQL Console页面执行如下SQL:
对t2和t3进行数据加工,将加工后的数据进行关联,生成一张新的表influ。在SQL Console页面执行如下SQL:
T+1日后,在SQL Console页面查看增强E-R。查看的具体操作,请参见查看增强E-R。
通过如下示例SQL及表格说明列算子血缘解析E-R的原理及能力,包含字段与字段之间的关联、影响和依赖关系。
CREATE TABLE user_trade AS
SELECT a.user_id
,a.user_name
,a.gender
,b.amt
,b.cnt
FROM (
SELECT user_id,user_name,gender
FROM user
WHERE user_type = 'taobao'
) a
LEFT OUTER JOIN (
SELECT user_id,sum(amt) AS amt,sum(1) as cnt
FROM trade
WHERE is_pay = 1
GROUP BY user_id
) b
ON a.user_id = b.user_id;
关系类型 | 说明 | 示例 |
字段之间的关联关系 | 表与表的关联条件中,存在字段的关联。 | 示例SQL中user表中的user_id字段与trade表中的user_id字段之间存在关联关系。 |
字段之间的依赖关系 | 目标字段来源于哪张表的哪个字段。 | 示例SQL中user_trade表中的user_id字段来源于user表中的user_id字段。 |
字段之间的影响关系 | 从表中WHERE字段对目标表字段的影响。 | 示例SQL中trade表的is_pay字段影响user_trade表中amt字段,影响条件为 |
任务编排E-R
任务编排E-R是通过任务编排的调度血缘功能来构建资产图谱。如下操作步骤为您演示如何通过任务编排E-R能力实现增强E-R。
使用DMS的任务编排功能,创建一个单实例SQL节点,并且设置调度时间为每天0点。
在任务节点的编写SQL区域,写入如下SQL:
T+1日后,在SQL Console页面查看增强E-R。查看的具体操作,请参见查看增强E-R。
查看增强E-R
方法一:通过SQL Console页面查看
- 登录数据管理DMS 5.0。
单击首页左侧的数据库实例,在实例列表中选择目标实例。
单击目标实例,左键双击目标数据库名称,进入SQL Console页面。
单击页面右上方的图标,进入E-R分析页面,查看增强E-R。
在E-R分析页面,您可以进行如下操作:
单击表,查看表详情。
单击表区域的边,查看关系详情。
方法二:通过资产图谱功能查看
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择数据资产 > 资产图谱。
说明若您使用的是极简模式的控制台,请单击控制台左上角的图标,选择全部功能 > 数据资产 > 资产图谱。
依次单击目标实例、数据库区块右下角的,进入E-R分析页面,查看增强E-R。