星型模型与雪花型模型学习

根据事实表与维度表的关系,可将常见的模型分为星型模型和雪花型模型。

当所有的维度表直接连接到事实表上时,整个图就像星星一样,故得名星型模型,如下图:

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

当有一个或多个维度表没有直接连接到事实表上,而是通过其他维度表连接到事实表上,其图解就像多个雪花连接到一起,故得名雪花型模型。雪花型模型是对星型模型的扩展,它对星型模型的维度表进一步层次化,原有的维度表可能被扩展为小的事实表,形成一些局部的层次区域,这些被分解的表都被连接到主维度表而不是事实表,如下图:

如图中,又将地域维度表分为国家维,省份维,城市维。其优点是:通过最大限度的减少数据存储量以及联合较小的维度表来改善查询性能。雪花型模型去除了数据冗余。

 

没有对比就没有伤害:

星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率会比雪花型模型较高,星型结构不用考虑很多正规化的因素,设计与实现都比较简单。雪花型模型由于去除了冗余,有些统计就需要通过表的联接才能产生,所以效率不一定有星型模型高。正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的 ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。

转载于:https://my.oschina.net/u/3068158/blog/885428

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值