01什么是E-R图
E-R图(Entity Relationship Diagram)也称实体关系图,是一种用来描述实体、属性和关系的模型。我们常用矩形来表示现实中客观存在且相互区别的实体,用椭圆来表示实体具有的某一特征,用菱形来表示实体和实体间一对一,一对多和多对多的关系。假如现在回到我们大学的数据库课堂上,那么你一定不会对下面这个图感到陌生。
E-R图一般是用数据库外键来存储和维护这个关系。但是随着业务规模增大和数据量增长后外键性能的降低,越来越多的应用系统在设计时不再使用外键而通过业务代码来保障业务之间的依赖关系,从而导致不易通过外键信息查看到数据中的逻辑关系。
02我们看到的E-R居然不一样
现在有一个数据库叫DMS_META,打开一个我们常用的数据库管理软件可以查看一下对应的E-R图。如下图所示,表在渲染的同时展示出了表与表之间的外键引用关系。
但当我们打开DMS查看对应E-R关系时,发现渲染出来的关系会更加丰富。跟之前的看到的E-R完全不一样。
03DMS增强E-R做了什么
DMS的E-R图为什么会不一样?DMS对DMS_META这个库都做了哪些操作?增强了哪些能力?
3.1 传统E-R能力
我们使用DMS的表结构设计创建了4个会员表huiyuan_t1(简称t1表),huiyuan_t2(简称t2表),huiyuan_t3(简称t3表),huiyuan_t4(简称t4表),同时创建一个外键表huiyuan_fk(简称fk表),该表和t1表有外键引用关系。同时使用DMS的测试数据构建能力为这些表插入对应的测试数据。
待数据资产图谱构建完成后,回到DMS上查看对应的增强E-R图,可以查看到物理外键间的关联关系。
同时也可以点击“节点”和“边”查看对应的表详情和关联关系详情。
3.2 列算子血缘解析E-R能力
列算子血缘解析E-R是基于DMS自研的列算子血缘解析器的能力构建,DMS每天将通过SQL窗口和数据库开发工单中的所有SQL进行列算子血缘解析,并将经过列算子血缘解析后的字段之间的关联、依赖及影响关系纳入增强E-R图谱。
接下来我们在SQL窗口(也可以通过数据库开发中的变更工单)上模拟一些真实场景的数据库操作。分别使用t1表和t3表的user_id做一次关联生成一个宽表huiyuan_join(简称join表),使用t4表做一次数据过滤生成一个新的新表huiyuan_depend(简称depend表),使用t2表和t3表进行一定的过滤并关联起来生成一张新表huiyuan_influ(简称influ表)。
通过以上3条SQL模拟了DMS上一般用户的常见查询操作。待数据资产图谱构建完成后,回到DMS上查看对应的增强E-R图,可以看到,除了传统的物理外键外,字段关联字段,字段依赖字段,字段影响字段的关联关系也体现到了增强E-R图中。
3.3 任务编排E-R能力
同样的,通过DMS的任务编排进功能行一个常见的ETL任务的开发,创建一个huiyuan_df(简称df表),使用任务编排功能每天0点定时清理df的表,并从t2表抽取数据写入到df表。通过上述操作模拟了一个数据ETL任务开发的场景,并使用任务编排的调度血缘来构建资产图谱。待数据资产图谱构建完成后,回到DMS上查看对应的增强E-R图,可以看到,除了传统的物理外键,列算子血缘关系外,任务编排的调度血缘的关系也体现到了增强E-R图中。
3.4 智能探查E-R能力
智能探查(SchemaMatching)是DMS自研的数据识别算法引擎,该引擎可在已有的数据资产中识别元数据和内容数据并自动挖掘数据内潜在的关联关系,并将挖掘到的关系将用于构建增强E-R图。
比如可以发现t1表的user_name和t2表的user_name从元数据和数据内容识别上来看都是用户的会员名,接下来我们将ShcemaMatching引擎挖掘后的结果进行关联。待数据资产图谱构建完成后,回到DMS上查看对应的增强E-R图,可以看到,除了传统的物理外键,列算子血缘关系,调度血缘关系外,通过智能探查的关系也体现到了增强E-R图中。
小彩蛋
细心的读者可以看到DMS增强E-R图中表的右上角有一些小图标,标识了该数据资产在DMS数据资产图谱中的使用情况。增强E-R还隐藏了更多的图标和功能待您继续发掘。
04DMS增强E-R的技术能力
DMS的增强E-R与传统E-R的构建方案不同,除了具有传统外键展示能力,在DMS一站式多云多源数据纳管,统一Catalog采集,列算子血缘解析和数据资产图谱构建等能力支持下,可以帮助您挖掘出数据资产之间更多潜在的关联关系。
4.1 多云多源的数据纳管能力
在数据源纳管能力上DMS一直主打的是"多云多源"的能力,除了纳管在阿里云下TP/AP/NOSQL/大数据/文件日志等数据源形态,也支持用户在他云/自建下的各种主流数据源。可以很好的解决企业数据孤岛,一站式安全和稳定地管理企业的所有的数据资产。
4.2 统一Catalog采集能力
DMS自研的统一元数据采集系统已经稳定的支持了阿里集团内部10多年的元数据采集工作,并作为集团内统一的元数据标准为集团的数据管理和治理等业务提供数据支撑和服务,可以快速稳定地对“多云多源”的元数据进行采集,并将各种数据源的实例/库/表/列进行统一的构建和管理。
4.3 列算子血缘解析能力
列算子血缘解析器是DMS自研的集多引擎SQL解析,元数据自动获取,字段血缘解析,字段加工算子解析于一体的解析器,具有解析字段关联字段,字段依赖字段,字段影响字段,表关联表,表依赖表,表影响表,字段影响表,表影响字段等能力。基于它可以对用户全量SQL中的数据加工逻辑进行快速的解构并给出结构化的解析结果以及直观的可视化视图。
4.4 数据资产知识图谱能力
DMS基于元数据自动挖掘和阿里云Tair for Graph的能力构建了百亿级别的节点和关系的数据资产知识图谱,并结合多种数据资产业务应用场景,提供对应的查询和服务能力,比如,通过查看敏感数据的传递方式,可以避免敏感信息二次加工后泄露;通过查看数据之间的依赖关系,可尽早发现数据变更的风险;通过查看数据之间的关联关系,可辅助构建数仓宽表;通过查看数据之间的加工关系,可查看数据的加工链路;通过查看数据之间的引用关系,可识别数据库中的冷、热资产。
在阿里云瑶池数据库峰会上,我们就看到了DMS列算子血缘解析和数据资产知识图谱在招商银行内数据治理场景的落地效果。招商银行总行信息技术部数据治理团队负责人杨鹏表示:“招商银行携手阿里云能有效洞察僵尸资产、冗余资产等数据质量问题,助力全量资产可视化智能管理,提升业务部门用数效率,帮助我行实现降本增效。”
快使用DMS体验一下吧!点击「此处」即可开启体验之旅