星形模型和雪花模型的区别

一、星型模型

星型模型:当所有的维度表都是和事实表直接相连的时候,整个图形看上去就像是一个星星,我们称之为星型模型。星型模型是一种非正规化的架构,因为多维数据集的每一个维度都和事实表直接相连,不存在渐变维度,所以有一定的数据冗余,因为有数据的冗余,很多的统计情况下,不需要和外表关联进行查询和数据分析,因此效率相对较高。

二、雪花模型

雪花模型:当有多个维度表没有直接和事实表相连,而是通过其它的维度表,间接的连接在事实表上,其图形就像是一个雪花,因此我们称之为雪花模型,雪花模型的优点是减少了数据冗余,在进行数据统计或分析的时候,需要和其他的表进行关联。

三、区别

1、查询性能角度来看

星形模型做了字段冗余,不需要多表关联,性能较高。
雪花型要做多个表联接,性能会低于星型架构;

2、模型复杂度角度

星型模型设计简单
雪花模型设计复杂

3、可扩展性

星形模型可扩展性低
雪花模型可扩展性高

4、存储角度

雪花型架构具有关系数据模型的所有优点,不会产生冗余数据,
而相比之下星型架构会产生数据冗余。