星型模式:一种使用关系数据库实现多维分析空间的模式,称为星型模式。星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能。

雪花模式:不管什么原因,当星型模式的维度需要进行规范化时,星型模式就演进为雪花模式。

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

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

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

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

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

星型结构和雪花型结构的比较

(1) 数据优化

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

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

(2) 业务模型

主键是一个单独的唯一键(数据属性),为特殊数据所选择。外键(参考属性)仅仅是一个表中的字段,用来匹配其他纬度表中的住键。

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

(3)性能

雪花模型在维度表、事实表之间的连接很多,因此性能方面会比较低。而星形模型的连接就少的多,因此性能方面比较好。

(4)ETL

雪花模型加载数据集市,因此ETL操作在设计上更加复杂,而且由于附属模型的限制,不能并行化。星形模型加载维度表,不需要再维度之间添加附属模型,因此ETL就相对简单,而且可以实现高度的并行化。

数据仓库数据集市

数据集市就是面向不同主题的,一个主题对应自己的一个表,他和数据仓库的不同实际上就是数据仓库中的纬度都是存在于一个表中,比如时间纬度,地区纬度都存在一个表中,而数据集市就是把他们分开了,称作为数据集市。

数据仓库设计中的逻辑模型也采用表来存储数据,因此数据仓库中使用的也是关系模型,不过表和表之间不再通过3大范式的规范,而是以星形结构,雪花结构组成。

转载于:https://www.cnblogs.com/grantliu/p/4094054.html

星型结构 和 雪花型结构相关推荐

  1. 星型结构 和 雪花型结构区别

    星型模式:一种使用关系数据库实现多维分析空间的模式,称为星型模式.星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能. 雪花模式:不管什么原因,当星型模式的维度需要进行规 ...

  2. 星型结构和雪花型结构

    星型模式:一种使用关系数据库实现多维分析空间的模式,称为星型模式.星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能. 雪花模式:不管什么原因,当星型模式的维度需要进行规 ...

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

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

  4. 什么是星型模型和雪花型模型【转载】

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

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

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

  6. 维度建模:星型和雪花型

    数据仓库:星型模型和雪花型模型 数据仓库建模包含了几种数据建模技术,最常用的是:维度建模技术 维度建模的基本概念: 维度建模(dimensional modeling)是专门用于分析型数据库.数据仓库 ...

  7. 星形和雪花模型_星型模型和雪花型模型比较

    每个数据仓库都包含一个或者多个事实数据表.事实数据表可能包含业务销售数据,如现金登记事务所产生的数据,事实数据表通常包含大量的行.事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总, ...

  8. 全方位解读星型模型,雪花模型及星座模型

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

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

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

最新文章

  1. java 集合接口原理_图文剖析java集合框架—Set接口
  2. B - 数据结构实验之查找二:平衡二叉树
  3. 【CVPR2020论文解读】300米远程深度估计:港科大重磅开源自动驾驶深度感知新技术,远超现有雷达...
  4. DNS子域授权及view(三)
  5. python实例讲解wxpythonhyh123_Python实例讲解 -- wxpython 基本的控件 (按钮)
  6. __va_rounded_size
  7. Flutter异步加载FutureBuilder重绘解决方案
  8. 如何在Mac系统中修改设备名称
  9. (源码)智能优化算法—藤壶交配优化算法(Barnacles Mating Optimizer,BMO)
  10. 【Tensorlayer系列】深度强化学习之FrozenLake介绍及表格型Q学习求解
  11. NSString的长度比较方法(一)
  12. 如何解读vmlinux.lds.S文件
  13. doubango编码及发送流程的疑惑
  14. 上验证cudnn是否安装成功_ubuntu18.04 安装cuda、cudnn、tensorflow和pytorch其实很简单...
  15. WIN10杜比音效驱动安装[蓝奏云]
  16. 监狱干警定位管理系统
  17. 随机森林(Random Forest)算法原理总结
  18. 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——4 - Tony Trivisonno‘s American Dream(托尼·特里韦索诺的美国梦)
  19. 字节跳动前端实习面经
  20. linux 隐藏命令参数,linux – 在ps中隐藏命令的参数

热门文章

  1. [Mysql] TRIM函数 | RTRIM函数 | LTRIM函数
  2. Qt自定义点击表头排序,使支持恢复默认顺序
  3. 怎么解决高并发下抢红包和商品超卖问题?
  4. 计算机用户的创建文件夹,在Windows中如何使用cmd创建多个文件夹
  5. 阿里云总裁胡晓明:未来和合作伙伴一起_服务1000万家企业
  6. Java设计模式之秒杀系统
  7. 从mysql导出数据,不导出表结构
  8. 如何打开VSCode的lauch.json文件
  9. 简单的收支记账软件(没有IO流)
  10. sts4创建spring项目_使用STS 创建spring配置文件