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

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

作者: 数据蝉 | 来源:发表于2020-07-09 18:26 被阅读0次
    一、概述

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

    二、星型模型

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

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


    image.png
    三、雪花模型

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


    图片.png
    四、比较

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

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


    图片.png
    五、总结

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

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/nlgscktx.html