1.什么是星型模型

星型模式模型可以被描述为一个简单的星型结构:一个中心表包含事实数据,多个表从它向外辐射,由数据库的主键和外键连接。 在星型模式实施中,数据库的构建者将所有维度级别的维度数据存储在单个表或视图中。

例如,如果您使用星型模式实现Product维度,那么数据库构建者将使用单个表来实现维度中的所有级别,如屏幕截图所示。 所有级别中的属性都映射到名为PRODUCT的单个表中的不同列。(图片来自参考文献1)

2.什么是雪花模型

雪花模式表示一个维度模型,它也由一个中心事实表和一组构成维度表组成,这些维度表进一步规范化为子维度表。 数据库构建者使用多个表或视图来存储维度数据。 单独的数据库表或视图存储与维度中每个级别有关的数据。
下图显示了 Product 维度的雪花实现。 维度中的每个级别都映射到不同的表。

3.星型模型与雪花模型对比

1.星型模型因为数据存在冗余,很多时候进行查询统计时不需要再join外部维度表,因此在很多OLAP的场景中,星型模型的效率比雪花模型要高。
2.星型模型不用考虑很多正规化的因素,设计和实现都比较简单
3.雪花模型去除了数据冗余,因此可以节省存储资源。但是在进行分析的时候,需要join外部较多维度表才能得到结果,查询比较复杂效率也较慢。
4.正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。

4.使用场景

一般我们在数仓底层能见到许多大宽表,这些大宽表就是基于星型模型设计的。
Ralph Kimbal作为数据仓库的大牛,在相关著作中列举了三个雪花模型的设计场景

1.大型客户维度。例如,80% 的事实表涉及匿名用户,或者能收集到很少详细信息的用户,另外有20% 涉及到可靠的注册客户,这些注册用户的用户维度信息与多个用户维度表相连接。

2.银行、经纪行和保险公司的金融产品维度,因为每个单个产品具有许多其他产品不具备的特殊属性。

3.多个企业共用的日历维度表。但每个企业的财政周期不同,节假日不同等等。在数据仓库的环境中用雪花模型,降低储存的空间,到了具体某个主题的数据集市再用星型模型。

参考文献:

1.https://www.jianshu.com/p/81685a8414bf
2.https://en.wikipedia.org/wiki/Ralph_Kimball
3.https://www.oracle.com/webfolder/technetwork/tutorials/obe/db/10g/r2/owb/owb10gr2_gs/owb/lesson3/starandsnowflake.htm

数据库的星型模型与雪花模型相关推荐

  1. 数仓 建模思想之星型模型、雪花模型、星座模型

    数仓 建模思想之星型模型.雪花模型.星座模型 1. 背景 在大数据开发中,数据一般是分为事实表,维度表,实体表等表. 事实表顾名思义就是记录实际发生的事情如订单表,优惠券使用表等等. 维度表,顾名思义 ...

  2. 数据仓库星型模型vs雪花模型

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

  3. 三大数据模型:星型模型、雪花模型、星座模型

    星型模型 星型模型中只有一张事实表,以及0张或多张维表,事实表与维表通过主键外键相关联,维表之间不存在关联关系,当所有维表都关联到事实表时,整个图形非常像一种星星的结构,所以称之为"星型模型 ...

  4. BI大数据的星形模型和雪花模型

    23333 架构模式的选择 数据仓库的架构主要有星型和雪花型两种方式,下面从多个角度来比较一下这两种模式的利弊. 从查询性能角度来看,在OLTP-DW环节,由于雪花型要做多个表联接,性能会低于星型架构 ...

  5. 数据仓库结构设计(星型结构和雪花结构)

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

  6. 星型模式、雪花模式和事实星座模式

    多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式.雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别. 1.星型模式的核心是一个大的中心表(事实表),一组小的 ...

  7. 如何做MySQL的星型结构_MySQL Sakila示例数据库的星型模型

    Sakila样本数据库介绍 Sakila样本数据库是MySQL官方提供的一个虚拟的DVD出租连锁店数据库,提供了一个标准模式.Sakila数据库支撑了DVD租赁商店的业务流程.你可以在这个地址下载到数 ...

  8. 维度建模之 星型模型与雪花模型

  9. 数据仓库——数据仓库架构、维度数据建模、雪花模型和星型模型

    文章目录 一.数据仓库架构 1. 自顶向下 2. 自底向上 二.维度数据建模 三.星型模型和雪花模型 1. 星型模型 2. 雪花模型 本篇文章主要介绍了数据仓库的整体架构.数仓中常用的维度数据建模方法 ...

最新文章

  1. python解压_python解压缩
  2. HTML Encode 编码在线转换工具
  3. php分层怎么实现,mvc-PHP如何做到分层开发?
  4. tf.placeholder使用错误
  5. TCP/IP详解 笔记九
  6. 性能测试之JMeter配置元件【计数器】
  7. DEDE中如何过滤掉Html标签,并且截取字符串长度
  8. 【材料计算】第一性原理、密度泛函理论、从头算之间的关系
  9. mysql运维监控工具排名_运维监控工具
  10. 公文排版插件for Word/WPS【快点公文助手——让公文排版更快一点】
  11. 斯蒂文理工计算机排名,全美最强STEM大学排行榜发布!这些学校考虑一下?
  12. Nat Methods | 王艇/李道丰实验室扩展WashU Epigenome Browser的3D基因组可视化功能
  13. 【Linux】yum install cmake 报错,出现错误ImportError: No module named urlgrabber.grabber
  14. 伪装请求头伪装useragent比fake-useragent库好用的伪装请求头库: anti-useragent
  15. 利用数据库对四大名著人物信息进行存储
  16. Redis服务入侵记
  17. www.folou.com/index.php,ExpressWechat/index.php at master · Gimhoy/ExpressWechat · GitHub
  18. JPBC实现基于RSA的CLSC算法问题在哪,怎么修改,帮我看看
  19. 用python自动发微博
  20. js 你知道为什么[]==![]是成立的吗(强制类型转换)

热门文章

  1. 挂耳式耳机推荐,这几个蓝牙耳机品牌不容错过!
  2. C语言sizeof与数组中的使用详解
  3. 阿凡达云计算机,云计算中心:在云端我们也能做《阿凡达》
  4. 基于SSM的家庭理财家庭财务记账管理系统 (javaweb-php-asp.netC#-j2ee)包含数据统计分析建议-收支项目-成员管理
  5. OpenCV笔记一:imread函数
  6. 为什么最好的光刻机来自荷兰,而不是芯片大国美国?
  7. 计算机有趣的指令,好玩的CMD命令行~
  8. Switch参数的类型及Switch--case的穿透性
  9. 转载:《Struts内部流程模拟实现》作者:何杨
  10. MATLAB编辑技巧分享