阿里巴巴大数据之路——数据模型篇
一、概述
1.什么是数据模型?
数据模型就是数据的组织和存储方法。主要关注的是从业务、数据存取和使用角度合理存储数据。
2.典型数据仓库建模方法论
ER模型
纬度模型(建模四步曲:确定业务流程->确定粒度->确定纬度->确定事实表)
二、阿里巴巴数据整合管理体系oneData
1.体系架构
核心内容包括规范定义、模型设计等!
2.模型分层
主要分为三大层(4小层):操作数据层(ODS),公共纬度模型层(CDM),应用数据层(ADS),其中,CDM又分为明细数据层(DWD)和汇总数据层(DWS)
操作层数据ODS:贴源设计,几乎无处理地存放操作系统数据
结构化数据增量或全量同步到MaxComputer
非结构化数据(日志)结构化处理同步到MaxComputer
累积并保存清洗数据
公共纬度模型层:存放明细数据、维表数据以及公共指标汇总数据,比较多的采用纬度退化的手段,将纬度退化到事实表中,减少关联
组合相关和相似数据,采用明细宽表,减少数据扫描
公共指标统一加工,统一口径,建立逻辑汇总宽表
建立一致性纬度
应用数据层ADS:存放数据产品个性化的指标数据
个性化指标加工,无公用性
基于应用的数据组装,大宽表集市、横表转纵表...
整个模型如下图所示:
//数据调用服务一般优先使用CDM层,然后ODS,ADS作为应用数据一般不对外提供服务
3.基本原则
高内聚低耦合:将业务相近的放在一起,将高概率使用的放一起,遵循软件设计开发的高内聚低耦合原则
核心模型与拓展模型分离:核心模型只包含常用核心业务字段,保证核心模型的简洁性
一致性:相同含义的字段在不同表中必须使用相同的命名,表名等命名必须清晰一致,见名知意
...
4.实施工作流
(1) 数据调研
包含业务调研和需求调研
(2) 架构设计
数据域划分
【数据域设计】(就是给出数据的大分类,数据所属的域)
构建总线矩阵
【总线结构】(就是列出纬度与主题,进行存在的纬度画✔)
后续包括规范定义、模型设计与总结
规范定义:
命名规范统一:表名、字段名等规范统一
字段类型统一:相同与相似字段类型统一
公共代码与代码值统一:代码与标志性字段应统一