数据仓库中的星型和雪花模型分别是什么?数据仓库模型介绍

目录

  • 什么是多维模型?
  • 什么是星型模型?
  • 什么是雪花模型?
  • 星型与雪花模型:关键区别
  • 什么是星系模型?
  • 什么是星系群模型?

什么是多维模型?

多维模型是专门为数据仓库系统建模而设计的。模型的设计是为了满足为分析目的而设计的大型数据库的独特需求。

数据仓库模式的类型:

下面是三种主要的多维模型,每种模型都有其独特的优势。

  • 星型模型
  • 雪花模型
  • 星系模型

什么是星型模型?

星型模型是最简单的数据仓库模型类型。它被称为星型模型,因为它的结构类似于星型。在星型模型中,星型的中心可以有一个事实表和关联维度表的编号。它也称为星型连接模型,用于查询大型数据集。

《数据仓库中的星型和雪花模型分别是什么?数据仓库模型介绍》

例如,正如您在上面给出的图像中所看到的,事实表位于中心,其中包含每个维度表的键,如Deal_ID、Model_ID、Date_ID、Product_ID、Branch_ID和其他属性,如售出的单位和收入。

星型模型特征:

  • 星型模型中的每个维度都用惟一的一维表表示。
  • 维度表应该包含一组属性。
  • 维度表使用外键连接到事实表
  • 维度表之间没有连接
  • 事实表将包含键和度量
  • 星型模型易于理解,并提供了最佳的磁盘使用情况。
  • 维度表没有标准化。例如,在上面的图中,Country_ID不像OLTP设计那样具有国家查找表。
  • BI工具广泛支持该模式

什么是雪花模型?

雪花模型是星型模型的扩展,它增加了额外的维度。它被称为雪花,因为它的图表类似于雪花。

维度表是标准化的,它将数据分解为其他表。在下面的示例中,Country进一步规范化为一个单独的表。

雪花模型特征:

  • 雪花模型的主要优点是它使用更小的磁盘空间。
  • 将更容易实现的维度添加到模式中
  • 由于多个表,查询性能降低
  • 在使用雪花模型时,您将面临的主要挑战是需要执行更多的维护工作,因为查找表更多。

星型模型和雪花模型:关键不同点

星型模型 雪花模型
维度的层次结构存储在维度表中。 层次结构被划分为单独的表。
它包含一个由维度表包围的事实表。 一个由维度表包围的事实表,而维度表又反过来包围事实表
在星型模型中,只有一个连接创建事实表和任何维度表之间的关系。 雪花模型需要多个连接来获取数据。
简单的数据库设计。 非常复杂的数据库设计。
非规范化的数据结构和查询也运行得更快。 归一化数据结构。
高水平的数据冗余 非常低水平的数据冗余
单维表包含聚合的数据。 数据被分成不同的维度表。
多维数据集处理速度更快 由于复杂的连接,多维数据集处理可能比较慢。
提供使用星型连接查询优化的高性能查询。表可以连接多个维度。 雪花模式由集中的事实表表示,不太可能与多个维度相连接。

什么是星系模型?

星系模型包含两个事实表,它们共享维度表。它也被称为事实星系模型。该模型被视为星型模型的集合,因此被称为星系模型。

《数据仓库中的星型和雪花模型分别是什么?数据仓库模型介绍》

如图所示,有两个事实表

  1. 收入
  2. 产品

星系模型特征:

  • 此模型中的维度根据层次结构的不同级别被划分为不同的维度。
  • 例如,如果地理有四个层次结构,比如区域、国家、州和城市,那么星系模型应该有四个维度。
  • 此外,通过将星系模型分解为更多的星型模式从而构建星系模型。
  • 此模型中的维度很大,需要根据层次结构的级别构建。
  • 此模型有助于聚合事实表以更好地理解。

什么是星系群模型?

雪花模型包含完全展开的层次结构。然而,这可能会增加模型的复杂性,并需要额外的连接。另一方面,星型模型包含完全折叠的层次结构,这可能导致冗余。因此,最好的解决方案可能是平衡这两种模式,即星系群模型设计。

重叠维度可以在层次结构中作为分支找到。当一个实体充当两个不同维度层次结构中的父级时,就会发生fork。然后将Fork实体标识为具有一对多关系的分类。

总结:

  • 多维模型是专门为数据仓库系统建模而设计的
  • 星型模型是最简单的数据仓库模型。它被称为星型模型,因为它的结构类似于星型。
  • 雪花模型是星型模型的扩展,它增加了额外的维度。它被称为雪花,因为它的图表类似于雪花。
  • 在星型模型中,只有一个连接创建事实表和任何维度表之间的关系。
  • 星型模型包含一个由维度表包围的事实表。
  • 雪花模型被维度表包围,维度表又被维度表包围
  • 雪花模型需要多个连接来获取数据。
  • 星系模型包含两个事实表,它们共享维度表
  • 星系群模型包含启动模型和慢片模型的属性。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注