星型模式 vs 雪花模式 – 它们之间的区别

星型模式和雪花型模式的关键区别

  • 星型模式是数据仓库中最简单的模式类型。它之所以被称为星型模式,是因为其结构类似于一颗星星。
  • 比较雪花模式与星型模式,雪花模式是星型模式的扩展,它增加了额外的维度。之所以称为雪花,是因为其图表看起来像雪花。
  • 在星型模式中,只有一个连接定义了事实表与任何维度表之间的关系。
  • 星型模式包含一个以维度表为中心的事实表。
  • 雪花型模式以维度表为中心,而维度表又以维度表为中心
  • 雪花型模式需要多次连接才能获取数据。
  • 比较星型模式与雪花型模式,星型模式具有简单的数据库设计,而雪花型模式具有非常复杂的数据库设计。

什么是星型模式?

数据仓库中的星型模式,其中星形的中心可以有一个事实表和若干个相关的维度表。它之所以被称为星型模式,是因为其结构类似于一颗星星。星型模式数据模型是数据仓库中最简单的数据模型。它也称为星型连接模式,并且针对查询大型数据集进行了优化。

在下面的星型模式示例中,事实表位于中心,其中包含指向所有维度表(如 Dealer_ID、Model ID、Date_ID、Product_ID、Branch_ID)以及其他属性(如销量和收入)的键。

Example of Star Schema Diagram
星型模式图表示例

什么是雪花型模式?

数据仓库中的雪花型模式是多维数据库表中表的一种逻辑排列,使得 ER 图 类似于雪花形状。雪花型模式是星型模式的扩展,它增加了额外的维度。维度表被规范化,将数据分割成附加表。

在下面的雪花型模式示例中,Country 被进一步规范化为一个单独的表。

Example of Snowflake Schema

雪花型模式示例

星型模式和雪花型模式的区别

以下是雪花型模式与星型模式的关键区别

星型模式 雪花模式
维度的层次结构存储在维度表中。 层次结构被分成单独的表。
它包含一个以维度表为中心的事实表。 一个事实表以维度表为中心,而维度表又以维度表为中心
在星型模式中,只有一个连接可以创建事实表与任何维度表之间的关系。 雪花型模式需要多次连接才能获取数据。
简单的数据库设计。 非常复杂的数据库设计。
非规范化的数据结构,查询也运行得更快。 规范化的数据结构。
高度的数据冗余 极低级别的数据冗余
单个维度表包含聚合数据。 数据分割到不同的维度表中。
立方体处理速度更快。 由于复杂的连接,立方体处理可能会变慢。
通过星型连接查询优化提供更高的查询性能。
表可能与多个维度相连。
雪花型模式由中心事实表表示,该事实表不太可能与多个维度相连。