一文搞清楚数据仓库模型:星型模型和雪花模型的区别

在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构。下面我们先来理解这两种模型的概念。

一、概述

数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构。下面我们先来理解这两种模型的概念。

二、星型模型

星型模型:是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相来连接,不存在渐变维度,所以数据有一定的冗余。

比如:销售数据仓库中的星型模型

一文搞清楚数据仓库模型:星型模型和雪花模型的区别
三、雪花模型

雪花模型:当有一个或多个维度表没有直接连接到事实表上,而是通过其他维度表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型去除了数据冗余。
比如:销售数据仓库中的雪花模型

一文搞清楚数据仓库模型:星型模型和雪花模型的区别
四、比较

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

星型模型和雪花模型的优劣对比:

一文搞清楚数据仓库模型:星型模型和雪花模型的区别
五、总结

有时候规范化和效率是一组矛盾。一般我们会采取牺牲空间(规范化)来换取好的性能,把尽可能多的维度信息存在一张“大表”里面是最快的。通常会视情况而定,采取折中的策略。

具体问题具体分析,如时间维度,年,季就没必要做雪花,而涉及到产品和产品的分类,如果分类信息也是我们需要分析的信息,那么,要建关于分类的查找表,也就是采用雪花模式。

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(1)
Afenxi朋友们的头像Afenxi朋友们编辑
上一篇 2022-04-10 11:47
下一篇 2022-05-02 20:56

相关文章

关注我们
关注我们
分享本页
返回顶部