雪花模式(snowflake schema)和星型模式(star schema)的区别

在为数据仓库选择数据库模式时,雪花模式和星型模式往往是流行的选择。这个比较讨论了星形模式和雪花模式在不同场景中的适用性及其特点。...

在为数据仓库选择数据库模式时,雪花模式和星型模式往往是流行的选择。这个比较讨论了星形模式和雪花模式在不同场景中的适用性及其特点。

对比图

雪花模式与星型模式比较图
雪花模式 星型模式
易于维护/更换 没有冗余,因此雪花模式更易于维护和更改。 具有冗余数据,因此不易维护/更改
易用性 更复杂的查询,因此不容易理解 较低的查询复杂度和易于理解
查询性能 外键越多,查询执行时间越长(越慢) 外键数量更少,因此查询执行时间更短(更快)
数据仓库类型 很好地使用数据仓库核心来简化复杂的关系(many:many) 适用于具有简单关系(1:1或1:很多)的数据集市
连接 更高的连接数 更少的连接
尺寸表 对于每个维度,雪花模式可能有多个维度表。 星型架构只包含每个维度的单个维度表。
何时使用 当维度表的大小相对较大时,雪片效果更好,因为它减少了空间。 当维度表包含的行数较少时,我们可以选择星型模式。
标准化/反标准化 维度表是规范化的,但事实表是非规范化的 维度表和事实表都是非规范化的形式
数据模型 自下而上方法 自上而下方法

示例

考虑一个有许多商店的零售商的数据库,每个商店在许多产品类别和各种品牌中销售许多产品。这种零售商的数据仓库或数据集市需要为分析师提供按门店、日期(或月份、季度或年份)或产品类别或品牌分组的销售报告的运行能力。

星型模式示例

如果此数据集市使用的是星型架构,则它将如下所示:

雪花模式(snowflake schema)和星型模式(star schema)的区别

事实表将是销售事务的记录,而有日期、商店和产品的维度表。每个维度表都通过它们的主键连接到事实表,主键是事实表的外键。例如,不是将实际的事务日期存储在事实表的一行中,而是存储日期id。此日期标识对应于Dim\u date表中的唯一行,并且该行还存储在报表中分组所需的日期的其他属性。e、 例如,一周中的某一天、某个月、某个季度等等。数据被反规范化以便于报告。

下面是一个如何得到一个报告的数量电视销售品牌和国家的帮助下,内部连接。

007Ys3FFgy1gs47foe2izj60c907ht9002

雪花模式示例

同样的场景也可以使用雪花模式,在这种情况下,它的结构如下:

雪花模式(snowflake schema)和星型模式(star schema)的区别

与星型模式相比,主要区别在于维度表中的数据更加规范化。例如,不是将月份、季度和星期几存储在Dim\ u Date表的每一行中,而是将它们进一步分解到各自的维度表中。类似地,对于Dim\u Store表,state和country是地理属性,它们被删除一步,而不是存储在Dim\u Store表中,而是存储在单独的Dim\u Geography表中。

同样的报告——按国家和品牌划分的电视机销量——现在比星图中的要复杂一些:

雪花模式(snowflake schema)和星型模式(star schema)的区别

参考文献

  • *********:Snowflake_schema
  • *********:Star_schema

  • 发表于 2021-07-04 00:01
  • 阅读 ( 922 )
  • 分类:IT

你可能感兴趣的文章

明星(star)和环形拓扑(ring topology)的区别

...种拓扑组成的混合体。本文讨论了两种常见的拓扑结构:星型拓扑和环形拓扑。   目录 1. 概述和主要区别 2. 什么是星型拓扑 3. 什么是环拓扑 4. 并排比较-星形拓扑与环形拓扑的表格形式 5. 摘要 什么是星型拓扑(star topology)? ...

  • 发布于 2020-10-18 16:18
  • 阅读 ( 526 )

如何使用架构.org你网站上的标记以及为什么你应该

...立完成这项工作--它们需要网站所有者和开发者的帮助。模式标记是您在自己的站点上提供帮助的一种方法。 ...

  • 发布于 2021-03-14 06:48
  • 阅读 ( 208 )

如何使用vba脚本从excel电子表格发送电子邮件

...g.Load -1Set SMTP_Config = CDO_Config.FieldsWith SMTP_Config .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/**tpserver") = "**tp.gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/**tpauthenticate") = 1 .Item(...

  • 发布于 2021-03-22 18:44
  • 阅读 ( 230 )

如何建立自己的同步rss阅读器与微型rss

...ema”文件夹中查找与所使用的数据库软件相对应的数据库模式(即,将构建和组织TTRSS数据库的文件)。ttrss\u schema\u pgsql.sql文件用于PostgreSQL,ttrss\u schema\u mysql.sql文件用于mysql。您可以通过命令行或使用数据库软件的GUI导入模式...

  • 发布于 2021-05-24 05:41
  • 阅读 ( 471 )

架构(schema)和数据库(database)的区别

...库模型的帮助下对数据进行适当的组织而得到的。术语“模式”是指“平面或形状”,可以定义为用于建模或创建逻辑结构的术语,使用该结构可以将数据存储在数据库中。从技术上讲,数据库模式是由用于存储记录的数据库管...

  • 发布于 2021-06-23 18:51
  • 阅读 ( 387 )

架构(schema)和数据库(database)的区别

...理文件,表示一个物理结构。 覆盖的关键领域 1.什么是模式定义,功能2.什么是数据库定义,功能3.模式和数据库的区别-关键区别的比较 关键术语 数据库,DDL,模式 什么是架构(schema)? 模式是整个数据库的结构定义。模式图...

  • 发布于 2021-07-02 01:59
  • 阅读 ( 704 )

架构(schema)和实例(instance)的区别

...e是数据库和DBMS中的两个术语。 覆盖的关键领域 1.什么是模式定义,功能2.什么是实例定义,功能3.模式和实例的区别-关键区别的比较 关键术语 DBMS,DDL,实例,逻辑模式,物理模式,模式,视图模式 什么是架构(schema)? 模式...

  • 发布于 2021-07-02 02:22
  • 阅读 ( 742 )

架构(schema)和数据库(database)的区别

...的数据通常是以这样一种方式组织的,即信息易于访问。模式基本上是对数据库如何形成以及所有内容在何处的正式描述。它基本上是作为一个蓝图来工作的,它描述了数据库中的所有内容的位置以及它的结构。 数据库是任何...

  • 发布于 2021-07-12 11:45
  • 阅读 ( 156 )

星形拓扑(star topology)和网格拓扑(mesh topology)的区别

星型和网状拓扑是指星型拓扑属于对等传输,网状拓扑作为主从传输的拓扑。然而,这些拓扑结构在所连接的设备的逻辑和物理布置上主要不同。星型拓扑将设备围绕称为集线器的中央控制器进行组织。 对比图 基础 星形拓...

  • 发布于 2021-07-14 01:59
  • 阅读 ( 1267 )

今日剩余:cloudapp更新下拉视图

...更新了他们的网站界面,Google与Bing和Yahoo合作!为了创建Schema.org,田纳西州正试图将你共享Netflix密码定为非法。New Drop Views CloudApp has done some **all tweaks to how your "drops" are viewed. The direct link is now easier to access, images are now scaled to fi...

  • 发布于 2021-07-24 11:55
  • 阅读 ( 183 )
吵闹小小
吵闹小小

0 篇文章

相关推荐