作者:柯根 更多内容详见数据中台官网 https://dp.alibaba.com
维度建模经典理论
维度建模是数据仓库建设中的一种数据建模方法,将数据结构化的逻辑设计方法,它将客观世界划分为度量和上下文,Kimball最先提出这一概念。
其最简单的描述就是,按照事实表,维度表来构建数据仓库,数据集市。这种方法的最被人广泛知晓的名字就是星型模式。实体关系模型(E-R)建模通常用于为单位的所有进程创建一个复杂的模型。这种方法已被证实在创建高效的联机事务处理 (OLTP) 系统方面很有效。相反,维度建模针对零散的业务进程创建个别的模型。例如,销售信息可以创建为一个模型,库存可以创建为另一个模型,而客户帐户也可以创建为另一个模型。每个模型捕获事实数据表中的事实,以及那些事实在链接到事实数据表的维度表中的特性。由这些排列产生的架构称为星型模式或雪花模式,已被证实在数据仓库设计中很有效。
维度建模实践升级--OneModel体系
经典维度建模的方法论为我们OneModel体系的构建提供了启发和基础,同时我们在数据中台的过程中,我们带着批判和产品化的思维,对该方法论根据基于海量数据实战经验的演进和升级,创造出了符合企业数据中台构建的OneModel方法论和产品化体系。
- 规范定义
经典数据仓库有很多关于数据模型的做法,其中不乏优美的数据模型设计,但模型设计前无数据规范定义,模型设计后不能确保开发严格按照模型设计进行,为非闭环的单点模型设计。
在业界中常用数据字典文档的方式维护标准规范定义,数据字典是在数据以及开发完成之后,为了业务能够读懂而增加的数据整理和标识的工作,以字典方式呈现。其意义更多在于帮助用户理解已有数据的含义和算法,但此时数据已经产生,无法规避二义性等形成的数据使用困扰,且后期维护的人力成本颇高,难以为续。
OneModel方法论保障了数据唯一性的数据域、业务过程,以及在数据域、业务过程之下的指标、实体属性等的结构性封装、命名和定义。
数据规范定义是在开发之前,以业务的视角进行数据的统一和标准定义,确保计算口径一致、算法一致、命名一致,后续的数据模型设计和ETL开发都是在此基础上进行的。
设计即开发
将割裂的数据规范定义、数据模型设计、ETL开发连接在一期,实现“设计即开发”。将数据规范定义从工具层面的数据命名+结构化抽象定义合二为一,并与数据模型设计连接,进而直接支撑ETL开发。当数据规范定义完成之后,每一个指标都可以根据结构化命名规则和计算逻辑快速映射到对应的物理表中。
所建即所得
只要某个指标能够被规范定义,针对该指标的代码即可自动化生成,而一系列经过规范定义的指标则会根据相同计算粒度,聚集到若干物理表或逻辑表中,这样形成的物理表或逻辑表,其全部代码和自动化生成。对于中间生成过程不必关心,因为这是系统内部的智能黑盒要以智能化的方式来解决的。并且智能黑盒不仅实现代码自动化生成,还关心优化生成代码及其任务调度所对应的计算逻辑。
下图为智能黑盒解决开发人员只需要基于业务逻辑建模,通过智能黑盒能自动生成、优化代码:
图4:智能黑盒逻辑框架
下图为数据的使用从逻辑表到物理表的全面升级,使得数据的设计和使用都完全基于业务进行逻辑建模,加快了建设和使用的效率:
产品化实现
OneModel体系不仅有方法论,还有规范、工具型数据产品等,具体包括:规范化数据建模,特别关注数据规范定义、数据模型设计和ETL开发等全流程;落地和承载规范化数据建模的规范化研发工具;规范化建模产生的所有分层数据模型;所有数据在面对应用时都会被监控和调度,且对上线、下线调优监控会反馈到规范化数据建模中。
这四大部分形成有机闭环。OneModel体系关键指导意义和执行点是规范化数据建模,即数据规范定义、数据模型设计和ETL开发。在ETL开发之前严格要求规范定义和数据模型设计,虽有借鉴和部分继承经典维度建模的做法,但不同于一般意义上的事后“数据字典”和单点“模型设计”。
结语:
阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业!
阿里巴巴数据中台解决方案,核心产品:
Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力;
Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力;
Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。
欢迎志同道合者一起成长!更多内容详见数据中台官网 https://dp.alibaba.com