星形模型和雪花模型的区别
一、星型模型
星型模型:当所有的维度表都是和事实表直接相连的时候,整个图形看上去就像是一个星星,我们称之为星型模型。星型模型是一种非正规化的架构,因为多维数据集的每一个维度都和事实表直接相连,不存在渐变维度,所以有一定的数据冗余,因为有数据的冗余,很多的统计情况下,不需要和外表关联进行查询和数据分析,因此效率相对较高。
二、雪花模型
雪花模型:当有多个维度表没有直接和事实表相连,而是通过其它的维度表,间接的连接在事实表上,其图形就像是一个雪花,因此我们称之为雪花模型,雪花模型的优点是减少了数据冗余,在进行数据统计或分析的时候,需要和其他的表进行关联。
三、区别
1、查询性能角度来看
星形模型做了字段冗余,不需要多表关联,性能较高。
雪花型要做多个表联接,性能会低于星型架构;
2、模型复杂度角度
星型模型设计简单
雪花模型设计复杂
3、可扩展性
星形模型可扩展性低
雪花模型可扩展性高
4、存储角度
雪花型架构具有关系数据模型的所有优点,不会产生冗余数据,
而相比之下星型架构会产生数据冗余。