`

星型模型和雪花型模型比较

阅读更多

一.概述

        在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。

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

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

        图1. 销售数据仓库中的星型模型


        当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 " 层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。如图 2,将地域维表又分解为国家,省份,城市等维表。它的优点是 : 通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪花型结构去除了数据冗余。

        图 2. 销售数据仓库中的雪花型模型


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

 

二.使用选择

        星形模型(Star Schema)和雪花模型(Snowflake Schema)是数据仓库中常用到的两种方式,而它们之间的对比要从四个角度来进行讨论。

1.数据优化

        雪花模型使用的是规范化数据,也就是说数据在数据库内部是组织好的,以便消除冗余,因此它能够有效地减少数据量。通过引用完整性,其业务层级和维度都将存储在数据模型之中。


▲图1 雪花模型

        相比较而言,星形模型实用的是反规范化数据。在星形模型中,维度直接指的是事实表,业务层级不会通过维度之间的参照完整性来部署。


▲图2 星形模型

2.业务模型

        主键是一个单独的唯一键(数据属性),为特殊数据所选择。在上面的例子中,Advertiser_ID就将是一个主键。外键(参考属性)仅仅是一个表中的字段,用来匹配其他维度表中的主键。在我们所引用的例子中,Advertiser_ID将是Account_dimension的一个外键。

        在雪花模型中,数据模型的业务层级是由一个不同维度表主键-外键的关系来代表的。而在星形模型中,所有必要的维度表在事实表中都只拥有外键。

3.性能

        第三个区别在于性能的不同。雪花模型在维度表、事实表之间的连接很多,因此性能方面会比较低。举个例子,如果你想要知道Advertiser 的详细信息,雪花模型就会请求许多信息,比如Advertiser Name、ID以及那些广告主和客户表的地址需要连接起来,然后再与事实表连接。

        而星形模型的连接就少的多,在这个模型中,如果你需要上述信息,你只要将Advertiser的维度表和事实表连接即可。

4.ETL

        雪花模型加载数据集市,因此ETL操作在设计上更加复杂,而且由于附属模型的限制,不能并行化。

星形模型加载维度表,不需要再维度之间添加附属模型,因此ETL就相对简单,而且可以实现高度的并行化。

总结

        雪花模型使得维度分析更加容易,比如“针对特定的广告主,有哪些客户或者公司是在线的?”星形模型用来做指标分析更适合,比如“给定的一个客户他们的收入是多少?”

 

文章来源:http://blog.csdn.net/nisjlvhudy/article/details/7889422

  • 大小: 22.1 KB
  • 大小: 24.1 KB
  • 大小: 11.1 KB
  • 大小: 11.2 KB
分享到:
评论

相关推荐

    数据仓库架构星型模型VS雪花模型.docx

    数据仓库架构中,星型模型和雪花模型是两种常见的维度建模方法,它们在处理大量数据和提供商业智能(BI)解决方案时起着至关重要的作用。这两种模型在设计原理、数据冗余、查询效率和规范性方面都有所不同。 首先,...

    和用PowerDesigner建立数据仓库多维模型的研究

    其中,多维模型是数据仓库中最常用的一种数据组织形式,它主要包括星型模型、雪花模型和星群模型三种类型。 - **星型模型**:这是最简单的多维模型结构,由一个事实表和一组维度表构成。事实表包含了具体的数值型...

    数据建模方法.rar

    常见的数据仓库模型有星型模型、雪花型模型和事实星座模型。星型模型由一个事实表和多个维度表组成,结构简单,查询效率高;雪花型模型则是星型模型的扩展,通过将维度表进行规范化,减少了数据冗余,但可能增加查询...

    数据仓库建立-江苏电信模拟

    江苏电信数据仓库建立的知识点涵盖了业务分析、多维建模、公共维度提取、维度表、事实表、星型模型和雪花型模型的应用等关键概念和技术实现。 在业务分析部分,江苏电信模拟了三个主要业务场景: 1. 套餐制定决策...

    数据仓库模型设计相关资料.zip

    2. 逻辑模型设计:在这个阶段,会将概念模型转化为更具体的数据模型,如星型模型、雪花型模型或星座模型。星型模型是最简单直观的形式,中心是事实表,周围是维度表;雪花型模型是在星型基础上对维度表进行规范化,...

    数据仓库架构、模型、调度、指标建设方案.pdf

    雪花型模型是在星型模型基础上对维度表进行规范化,减少数据冗余,但可能增加查询复杂性;星座型模型是多星型模型的组合,适合于大数据环境,灵活性较高。 **三、数据调度** 数据调度是确保数据仓库系统按时运行的...

    数据仓库开发模型PPT学习教案.pptx

    雪花模型是星型模型的扩展,维度表经过规范化处理,形成更复杂的层次结构。 2.3 数据仓库逻辑模型: 逻辑模型关注数据仓库的内部结构,包括事实表和维度表的设计。事实表存储关键的业务指标,维度表提供描述性信息...

    第2章 数据仓库开发模型.pptx

    雪花模型则是星型模型的扩展,其维度表经过进一步规范化,形成多层结构,提高了数据的一致性,但可能增加查询复杂性。 2.3 数据仓库逻辑模型 逻辑模型细化了概念模型,定义了数据的精确结构。例如,客户事实表包含...

    大数据技术 数据仓库原理设计与应用 第1、2章 数据仓库开发模型(共30页).ppt

    雪花模型则是星型模型的扩展,维度表进一步规范化,形成了更复杂的层级结构,虽然增加了数据冗余,但保持了数据的一致性。 逻辑模型设计时,事实表是数据仓库的核心,包含了关键业务指标和外键。维度表则提供了描述...

    数据仓库原理 数据仓库设计与应用 第2章 数据仓库开发模型(共30页).ppt

    星型模型和雪花模型是数据仓库设计中常见的两种逻辑模型。星型模型以事实表为核心,周围环绕着多个维度表,提供直观的分析路径。雪花模型则是对星型模型的规范化扩展,每个维度可以进一步分解为更详细的子维度表,...

    QlikView Data Model(数据模型)

    传统的数据模型通常包括两种主要类型:星型模型和雪花模型。 ###### 2.1.1 星型模型 星型模型是最常用的数据仓库设计之一。在这种模型中,所有的维度表都直接连接到一个中心的事实表上,形成了类似于星星的形状。...

    mondrian3.5

    Mondrian是一个开放源代码的Rolap服务器,使用java开发的。它实现了xmla和jolap规范,而且自定义了一种使用mdx语言的客户端接口。...在功能上,Mondrian支持共享维和成员计算,支持星型模型和雪花模型的功能。

    数据模型基本概念与建模方法论_logic.ppt

    接着,应用数据模型(ADM)是针对最终用户和应用系统的,它满足用户的数据访问和应用数据存取需求,通常采用星型或雪花型结构,由事实表和维度表组成,面向Power User和业务人员,与特定应用紧密相关。 在建模过程...

    数据仓库实践培训PPT学习教案.pptx

    常见的数据仓库架构模型有两种:星型模型和雪花型模型。星型模型由中心事实表和围绕它的维度表组成,适合快速分析;雪花型模型则在维度表中引入了层次关系,提供了更清晰的结构,便于与OLTP系统交互。在实际应用中,...

    数据仓库学习

    常见的数据仓库模型有星型模型、雪花型模型和星座模型等。星型模型是最简单的,由一个事实表和一组维度表组成,便于查询和理解。雪花型模型是在星型模型基础上对维度表进行规范化,减少了数据冗余,但可能增加查询...

    数仓建模常见说明.zip

    数仓建模通常采用两种方法:星型模型和雪花型模型。 1. 星型模型:由事实表和维度表组成,事实表记录事件或交易,维度表包含描述性信息。星型模型简单直观,查询效率高,适合快速分析。 2. 雪花型模型:在星型模型的...

    SQL Server 2005 BI综合案例系列课程(3):互联网联机分析中的数据仓库建模

    在数据仓库建模中,有几种常见的模型设计方法,包括星型模型、雪花型模型和星座模型。星型模型是最常见的,由一个事实表和多个维度表组成,结构简单,查询效率高;雪花型模型是星型模型的扩展,通过规范化减少冗余,...

    会计数据仓库建立探讨.docx

    雪花型模型是对星型模型的扩展,适用于具有复杂结构数据仓库的应用,星型模型是最常使用的模型。模型设计主要用于设置事实表与维表之间的连接,使每个维表通过主键与外键连接,进而实现与事实表的连接。概念模型的...

    数据模型基本概念及建模方法论PPT学习教案.pptx

    星型结构和雪花型结构则是多维数据分析中常见的数据模型,其中星型结构更为简单直接,而雪花型结构则更强调数据的规范化。 总之,理解并熟练掌握数据模型的基本概念和建模方法,对于构建高效、稳定的数据系统至关...

Global site tag (gtag.js) - Google Analytics