第8章:大数据领域建模综述
8.1 什么是数据建模
- 将数据进行有序有结构的分类组织和存储
- 数据模型是从业务,数据存储和使用角度合理存储数据
8.2 数据建模的好处
- 提高性能
- 降低成本
- 提高数据使用效率
- 提高数据质量,改善数据统计口径不一致性
8.3 OLTP和OLAP 系统的区别
OLTP 面向的是数据随机读写场景,一般采用3NF的实体关系模型存储数据,一般数据不会冗余,或者有很少的冗余
OLAP 面向的是数据批量读写的场景,不会关注事务的一致性,主要关注数据的整合,以及大数据查询的性能
8.4 常见的数仓建模方法
8.4.1 ER模型
一般是从企业高度设计一个3NF模型,它是站在企业角度面向主题抽象,而不是针对具体的某个业务流程的实体对象关系的抽象
ER模型特点
- 需要全面了解业务和数据
- 实施周期非常长
- 对建模人员能力要求非常高
建模步骤
- 高层模型(概念模型):高度抽象
- 中层模型(逻辑模型):在高层模型中细化主题的数据想
- 底层模型(物理模型):在中层模型基础上考虑物理存储,物理表设计,分区设计等
8.4.2 维度模型
从分析决策的需求出发,关注复杂查询的响应性能,代表模型有:星形模型,雪花模型,星座模型
设计步骤
- 选择业务过程
- 选择粒度
- 识别维表
- 选择事实
8.4.3 Data Vault 模型
是 ER 模型的衍生,强调数据的历史性,可追溯性,原子性
8.4.4 Anchor 模型
Anchor 对 Data Vault 模型做了进一步的规范化处理,将模型规范到了6NF ,基本变成了k-v结构化模型。
8.5 阿里巴巴数据模型时间综述
第一阶段
一共只有2层,ods+dss ,没有模型设计
第二阶段
分为4层,采用MPP架构体系,分为ODL(操作数据层)+BDL(基础数据层)+IDL(接口数据层)+ADL(应用数据层)
BDL因采用ER模型导致数据建模效率太低,无法产出
结论:在不太成熟,快速变化的业务面前不太适合用ER建模
第三阶段
Kimball 维度建模为核心的数据模型方式