新闻资讯

如何通过数据模型设计生成数仓开发脚本(DML)

众所周知在数据建模工具中设计的ER图可以直接产生DDL脚本并执行到数据库生成数据库schema,称为正向工程。另一方面,在数仓设计开发过程中常常使用DML。(DML是Data Manipulation Language的缩写,意思是数据操作语言,是指在SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令。)


在数仓开发过程中,就是要把数据像整理衣柜一样分层治理好,比较经典的就是三层维度模型。

 


我们通常先设计数仓模型(明细层和汇总层),一般做法是将源端(OLTP)或ODS贴源层的数据模型先复制一份,基于数仓需求通过对多张表的合并、加工、转换来设计数仓模型。

之后再基于源端或ODS贴源层的数据模型和数仓模型的对应关系,包括维度表和事实表的加载逻辑、各业务系统的维度表和事实表的加载逻辑、各业务整体维度表以及基于事实表产生对应的维度指标和度量值。来开发DML脚本。

最后将DML脚本导入到ETLjob里面。

数据模型.jpg

这种方法费时费力,存在大量重复性工作,不断在源端模型,数仓模型,ETL之间切换,效率极低。
有没有方法只关注模型设计,直接在源端模型上做数仓模型设计,选取或拖拽宽表,然后直接生成DML脚本呢?

通过数据模型设计装载逻辑
在数据模型设计工具中使用源和目标系统的加工逻辑,加速创建源到目标的元数据驱动的映射。拖放方法和自动映射功能替代了传统的手工方法,同时可以管理事前的数据血缘管理。

拖放方法和自动映射

替代传统Excel映射

数据模型.jpg


NO.1

创建数仓目标实体,进入装载逻辑


数据模型.jpg


NO.2

选择需要拉通的源端或ODS贴源层的表到设计视图


数据模型.jpg


NO.3

在运算逻辑编辑器中撰写更复杂的运算加工逻辑


数据模型.jpg


NO.4

生成DML,并执行到测试库


数据模型.jpg

关于Datablau

Datablau创建于2016年,核心创始和研发团队全部来自于原CA erwin,天然具有世界级产品厂商的血缘和水准,是国内数据治理的第一品牌。依托多年的行业积累和技术沉淀,Datablau在产品设计层面充分发挥了后天优势,实现了集数据建模、数据目录、数据质量和数据准备为一体的企业级数据治理平台,全面满足企业对于数据治理的客观需求。

目前Datablau在建设银行、华为、中信集团、嘉实基金、中国人寿、国电大渡河、四川航空等大型客户得到实际应用并深受好评,客户范围已经覆盖到银行、保险、制造业和能源行业等核心领域,Datablau已成为企业数据治理领域的领导厂商。

数据模型.jpg


推荐阅读 查看更多