`

数据仓库中的雪花模型和星型模型

 
阅读更多

一、概述

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

当所有维表都直接连接到“ 事实表”上时,整个图解就像星星一样,故将该模型称为星型模型,如图 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就相对简单,而且可以实现高度的并行化。

  总结

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

分享到:
评论

相关推荐

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

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

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

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

    基于大数据的数据仓库-数据仓库建模基本理论.pdf

    星型模型: 雪花模型: 星型模型和雪花模型的主要区别在于对维度表的拆分,对于雪花模型,维度表的设计更加规范,⼀般符合3NF;⽽星型模型,⼀般采⽤降维 的操作,利⽤冗余来避免模型过于复杂,提⾼易⽤性和分析...

    北京中科信软数据仓库培训

    第一天上午 数据仓库和商业决策的关系 描述当今商业领域BI和数据仓库的角色 描述为什么在线联机系统(OLTP)不能满足决策支持 决策支持系统的数据抽取流程所带来的数据仓库技术 使用数据仓库技术的原因 如何使用...

    数据仓库使用手册

     数据仓库是多维数据库,它扩展了关系数据库模型,以星型架构为主要结构方式的,并在它的基础上,扩展出理论雪花形架构和数据星座等方式,但是不管是哪一种架构,维度表、事实表和事实表中的度量都是必不可少的组成...

    企业大数据平台下数据仓库架构(阿里云栖花积分买的)

    星型模型 AND 雪花模型 ...模型都为雪花模型,实际数据仓库中两 种模型会并存。 中间层将雪花转变成星型 星型模型相对结构简单,在数据中间层 利用数据冗余将雪花转变成星型模型有 利于数据应用和减少计算资源消耗。

    大数据仓库与大数据挖掘课程教学设计.doc

    逻辑模型最终设计成果包括每个主题的逻辑定义,并将相关内 容记录在数据仓库的元数据中、粒度划分、数据分割策略、表划分和数据来源等。 3.2 数据仓库的建立 3.2.1数据仓库数据集 一般说来,一个数据集市是按照某一...

    北京中科信软oracle培训课件

    数据仓库和商业决策的关系 描述当今商业领域BI和数据仓库的角色 描述为什么在线联机系统(OLTP)不能满足决策支持 决策支持系统的数据抽取流程所带来的数据仓库技术 使用数据仓库技术的原因 如何使用数据仓库来...

    浅谈数据仓库建设中的数据建模方法

    如何理解TERADATA 的 FS-LDM 概念模型是什么? 雪花模型和星型模型的区别,维度建模的应用场景

    金融业数据仓库中星型衍生子维度模式 (2013年)

    分析了维度模型中星型模式和雪花模式的优缺点,并针对金融业数据仓库特点,以证券业务为例,提出了星型衍生子维度模式概念,阐述了此结构的生成条件、算法和优点,即在典型的星型模式中,对大维度表中基数较小的相对...

    数据仓库与多维模型设计

    模型构架 尽量使用星型架构,使用雪花架构的目的是使事实表第一级的维表数量达到最小。

    mondrian 如何使用xml存储olap服务器的元数据.doc

    在功能上,Mondrian支持共享维和成员计算,支持星型模型和雪花模型的功能。 Mondrian中使用物理的xml文件存储元数据,它的设计者规定了xml文件的格式。下面简单介绍一下它是如何存储元数据的。

    商务智能复习题答案(自己整理)1

    2、数据不能很好反应潜在的模式 3、数据属性存在冗余 2、雪花模型雪花模型是对星型模型的扩展,每一个点都沿半径向外连接到多个点.雪花模型对星型的维表进一步标准化

    mondrian源码分析报告

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

    mondrian3.5

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

    数据仓库介绍

    数据仓库 ( Data Warehouse ) / 数据集市 ( Data Mart )...星型模型 ( Star Schema ) / 雪花模型 ( Snow Schema ) 数据钻入 / 数据钻出 ( Drill Down / Drill Up ) 表旋转 ( Table Rotation ) 数据挖掘 ( Data Mining )

    阿里巴巴大数据之路-大数据领域建模综述.pdf

    特点 从分析决策的需求出发构建模型,为分析需求服务 具有较好的⼤规模复 杂查询的响应性能 其典型的代表是星形模型,以及在⼀些特殊场景下 使⽤的雪花模型 模型分类 雪花模型 星型模型 星座模型 建模步骤 选择需要...

    大数据BI框架知识点备注.pdf

    数据模型: 1、星型模型和雪花模型,同样是将业务表拆分成事实表和纬度表;例如⼀个员⼯数据表,可以拆分为员⼯事实表和职位维度表、时间维度表等; 上⾯这个例⼦实时上不恰 当,事实表更多的应该是记录⼀类事务,...

    商业智能的概念.doc

    多维分析和数据挖掘是最常听到的 例子,数据仓库能供给它们所需要的、整齐一致的数据。 在线分析处理(OLAP)技术则帮助分析人员、管理人员从多种角度把从原始数据中 转化出来、能够真正为用户所理解的、并真实反映...

    商务智能-第五章多维建模.pdf

    星型模型 2. 雪花模型 3. 数据⽴⽅体 1.1. 事实表 1. 事实表是维度建模的核⼼和基本表 2. 每⼀事实表都对应着⼀个或若⼲个"度量值" 1. 度量值是事实表的核⼼,也是趋势分析的对象 2. 通过事实表来记录维度值与度量...

Global site tag (gtag.js) - Google Analytics