在维度建模中,根据事实表和维度表的关系,可以将常见的模型分为星型模型和雪花型模型。
星型模型
示意图
说明
星型模型是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,所以数据有一定的冗余
雪花型模型
当有一个或多个维表没有
直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。
示意图
说明
通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪花型结构去除了数据冗余。
一般从4个角度进行比较
1、查询性能角度
OLTP-DW 环节,由于雪花型要做多个表联接,性能会低于星型架构;
DW-OLAP 环节,由于雪花型架构更有利于度量值的聚合,因此性能要高于星型架构。
2、模型复杂度角度
星型架构更简单方便处理
3、层次结构角度
雪花型架构更加贴近OLTP系统的结构,比较符合业务逻辑,层次比较清晰。
4、存储角度
雪花型架构具有关系数据模型的所有优点,不会产生冗余数据,而相比之下星型架构会产生数据冗余。
根据项目经验,一般建议使用星型模型。
- 因为在实际项目中,往往最关注的是查询性能问题
- 至于磁盘空间一般都不是问题
当然,雪花型模型的几个前提
- 在维度表数据量极大,需要节省存储空间的情况下
- 或者是业务逻辑比较复杂、必须要体现清晰的层次概念情况下
星型模型
,存储-磁盘不是瓶颈原文:https://www.cnblogs.com/zsh2871/p/091-xing-xing-mo-xing-he-xue-hua-xing-mo-xing.html