一、什么是数仓建模
- 定义:数仓建模指的就是如何构建表的操作
二、常见的建模方式
- 三范式建模
- 以业务为导向的,要求在建表的时候,表应该是有一个主键的,在建表的时候,尽可能避免数据的冗余情况发生
- 维度建模法
- 以分析为导向的,构建表的时候,要求能够满足分析的要求,设计的时候,能够让目标分析更加简单,建模越加合理,在利于分析的要求下,允许数据出现一定的冗余
- 以分析为导向的,构建表的时候,要求能够满足分析的要求,设计的时候,能够让目标分析更加简单,建模越加合理,在利于分析的要求下,允许数据出现一定的冗余
三、维度建模中的两种表模型
- 事实表
- 指的分析主题所有对应的表,或者需求所对应的表或者进行指标计算字段所在表
- 特点:一般是由一坨外键(其他表主键)的聚集的表
- 维度表:在对事实表根据各个维度进行统计分析的时候,可能需要关联上其他的表,此时其他的表一般称为维度表
在一些特殊的情况下,有一些表既是当前主题的事实表,又是其他主题的维度表
四、数仓发展的三种发展模型
- 星型模型:
- 特点:只有一个事实表,也就是只有一个分析的主题,有多个维度表,多个维度表之间没有任何的关联
- 这种模型是数仓发展的什么时期容易产生的模型:中期
- 雪花模型:
- 特点:只有一个事实表,也就是只有分析的主题,有多个维度表,维度表可以接着关联其他的维度表
- 这种模型是数仓发展的什么时期容易产生的模型:数仓出现了畸形的情况下,有可能产生模型,这种模型下,非常不便于维护和分析,在实际使用尽量避免这种模型出现
- 星座模型:
- 特点:有多个事实表,也就是有多个分析的主题,有多个维度表,在条件复合的情况下,多个事实表之间的维度可以进行公用