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

  • 事实表:一般是用户行为产生的数据,数据量比较大;
  • 维度表:一般是一些属性信息,用户信息表,产品信息表等。这些属性信息不经常变动;
  • 数据仓库模型:星型模型和雪花模型。

星型模型

当所有维表都直接连接到事实表上时,整个图解就像星星一样,故将该模型称为星型模型。

特点:星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维表,所以数据有一定 的冗余,如在地域维度表,存在国家A省B的城市C和国家A省B城市D两条记录,那么国家A和省B的信息分别存储了两次,即存在冗余。

dw3

雪花模型

当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上,其图解就像多个雪花连接在一起,故称为雪花型。

雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表。

如下图,将地域维表又分解为国家省份城市等维表。

它的优点是通过最大限度地减少数据存储量及联合较小的维表来改善查询性能。

雪花型结构去除了数据冗余。

dw4

星型模型因为数据的冗余所以很多统计查询不需要做外部地连接,因此一般情况下效率比雪花模型高。

星型结构不用考虑很多正规化地因素,设计与实现都比较简单。

雪花模型由于去除了冗余,有些统计就需要通过表连接才能产生,所以效率不一定有星型模型高。正规化也是一种比较复杂地过程,相应地数据库结构设计,数据地ETL以及后 期地维护都要复杂一些。因此在冗余可以接受地前提下,实际运用中星型模型使用更多,也更有效。

 

回复

我来回复
  • 暂无回复内容

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部