ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数仓 星形模型与雪花模型 简单理解

2019-08-01 16:03:11  阅读:311  来源: 互联网

标签:GDP 数仓 模型 雪花 星型 维度 星形 冗余


星形模型

雪花模型

星型模型是所有维度表都是连接在一个事实表上面,雪花模型是将维度表拆分地更加详细,是多层次的。

 在星型模型的维度表里面,一张维度表储存了众多存在冗余的信息,为什么冗余,在哪里冗余,我想了一个简单的例子。

地域维表

国家a    GDP

国家b    GDP

国家a    省份a    GDP

国家a    省份b    GDP

国家a    省份c    GDP

国家a    省份a    市级a    GDP

国家a    省份a    市级b    GDP

国家a    省份a    市级c    GDP

 

在雪花模型的表中,是这样

国家表

国家a    GDP

国家b    GDP

 

国家a省份表

省份a    GDP

省份b    GDP

省份c    GDP

 

国家a省份a市表

市级a    GDP

市级b    GDP

市级c    GDP

 

这样有一部分信息只需要存储一次,减少了冗余信息。

 


 

在现有的多维数据仓库的商业智能解决方案中,根据维度表和事实表的关系,在实施过程中,维度设计会映射到 一组关系表,可以把数据库模型分为星型模型和雪花模型,下面我们分别看一下这两种不同的模型。

 

星型模型:

 

中央表包含事实数据,多个表以中央表为中心呈放射状分布,它们通过数据库的主键和外键相互连接,是一种使用关系数据库实现多维分析空间的模式,其基本形式必须实现多维空间,以使用关系数据库的基本功能。同时星型模型也是一种非正规化的模型,多维数据集的每一个维度直接与事实表连接,没有渐变维度,所以存在冗余数据。在星型模型中,只需要扫描事实表就可以进行查询,主要的数据都在庞大的事实表中,所以查询效率较高,同时每个维度表和事实表关联,非常直观,很容易组合出各种查询。

 

雪花模型:

 

雪花模型在星型模型的基础上,维度表进一步规范化为子维度表,这些子维度表没有直接与事实表连接,而是通过其他维度表连接到事实表上,看起来就像一片雪花,故称雪花模型。也就是说雪花模型是星型模型的进一步扩展,将其维度表扩展为更小的维度表,形成一种层次。这样就通过最大限度的减少数据存储量以及联合较小的维度表来改善查询性能,且去除了星型模型中的冗余数据。

 

星型模型和雪花模型的特点比较:

 

  星型模型 雪花模型
特点 非正规化;
多维数据集中的每一个维度都与事实表连接(通过主键和外键);
不存在渐变维度;
有冗余数据;
查询效率可能会比较高;
不用过多考虑正规化因素,设计维护较为简单
正规化;
数据冗余少;
有些数据需要连接才能获取,可能效率较低;
规范化操作较复杂,导致设计及后期维护复杂;

 

当然是实际开发的过程中,可以在数据仓库架构中同时使用这两种模型的混合体。比如中间处理层,可以用雪花模型降低冗余度,在数据集市层,采用星型模型方便提取数据,提高查询效率

 

标签:GDP,数仓,模型,雪花,星型,维度,星形,冗余
来源: https://www.cnblogs.com/coco2015/p/11283133.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有