目录
- 什么是多维模型?
- 什么是星型模型?
- 什么是雪花模型?
- 星型与雪花模型:关键区别
- 什么是星系模型?
- 什么是星系群模型?
什么是多维模型?
多维模型是专门为数据仓库系统建模而设计的。模型的设计是为了满足为分析目的而设计的大型数据库的独特需求。
数据仓库模式的类型:
下面是三种主要的多维模型,每种模型都有其独特的优势。
- 星型模型
- 雪花模型
- 星系模型
什么是星型模型?
星型模型是最简单的数据仓库模型类型。它被称为星型模型,因为它的结构类似于星型。在星型模型中,星型的中心可以有一个事实表和关联维度表的编号。它也称为星型连接模型,用于查询大型数据集。
例如,正如您在上面给出的图像中所看到的,事实表位于中心,其中包含每个维度表的键,如Deal_ID、Model_ID、Date_ID、Product_ID、Branch_ID和其他属性,如售出的单位和收入。
星型模型特征:
- 星型模型中的每个维度都用惟一的一维表表示。
- 维度表应该包含一组属性。
- 维度表使用外键连接到事实表
- 维度表之间没有连接
- 事实表将包含键和度量
- 星型模型易于理解,并提供了最佳的磁盘使用情况。
- 维度表没有标准化。例如,在上面的图中,Country_ID不像OLTP设计那样具有国家查找表。
- BI工具广泛支持该模式
什么是雪花模型?
雪花模型是星型模型的扩展,它增加了额外的维度。它被称为雪花,因为它的图表类似于雪花。
维度表是标准化的,它将数据分解为其他表。在下面的示例中,Country进一步规范化为一个单独的表。
雪花模型特征:
- 雪花模型的主要优点是它使用更小的磁盘空间。
- 将更容易实现的维度添加到模式中
- 由于多个表,查询性能降低
- 在使用雪花模型时,您将面临的主要挑战是需要执行更多的维护工作,因为查找表更多。
星型模型和雪花模型:关键不同点
星型模型 | 雪花模型 |
维度的层次结构存储在维度表中。 | 层次结构被划分为单独的表。 |
它包含一个由维度表包围的事实表。 | 一个由维度表包围的事实表,而维度表又反过来包围事实表 |
在星型模型中,只有一个连接创建事实表和任何维度表之间的关系。 | 雪花模型需要多个连接来获取数据。 |
简单的数据库设计。 | 非常复杂的数据库设计。 |
非规范化的数据结构和查询也运行得更快。 | 归一化数据结构。 |
高水平的数据冗余 | 非常低水平的数据冗余 |
单维表包含聚合的数据。 | 数据被分成不同的维度表。 |
多维数据集处理速度更快 | 由于复杂的连接,多维数据集处理可能比较慢。 |
提供使用星型连接查询优化的高性能查询。表可以连接多个维度。 | 雪花模式由集中的事实表表示,不太可能与多个维度相连接。 |
什么是星系模型?
星系模型包含两个事实表,它们共享维度表。它也被称为事实星系模型。该模型被视为星型模型的集合,因此被称为星系模型。
如图所示,有两个事实表
- 收入
- 产品
星系模型特征:
- 此模型中的维度根据层次结构的不同级别被划分为不同的维度。
- 例如,如果地理有四个层次结构,比如区域、国家、州和城市,那么星系模型应该有四个维度。
- 此外,通过将星系模型分解为更多的星型模式从而构建星系模型。
- 此模型中的维度很大,需要根据层次结构的级别构建。
- 此模型有助于聚合事实表以更好地理解。
什么是星系群模型?
雪花模型包含完全展开的层次结构。然而,这可能会增加模型的复杂性,并需要额外的连接。另一方面,星型模型包含完全折叠的层次结构,这可能导致冗余。因此,最好的解决方案可能是平衡这两种模式,即星系群模型设计。
重叠维度可以在层次结构中作为分支找到。当一个实体充当两个不同维度层次结构中的父级时,就会发生fork。然后将Fork实体标识为具有一对多关系的分类。
总结:
- 多维模型是专门为数据仓库系统建模而设计的
- 星型模型是最简单的数据仓库模型。它被称为星型模型,因为它的结构类似于星型。
- 雪花模型是星型模型的扩展,它增加了额外的维度。它被称为雪花,因为它的图表类似于雪花。
- 在星型模型中,只有一个连接创建事实表和任何维度表之间的关系。
- 星型模型包含一个由维度表包围的事实表。
- 雪花模型被维度表包围,维度表又被维度表包围
- 雪花模型需要多个连接来获取数据。
- 星系模型包含两个事实表,它们共享维度表。
- 星系群模型包含启动模型和慢片模型的属性。
» 订阅本站:https://www.kgraph.cn
» 转载请注明来源:九五青年博客 » 《数据仓库中的星型和雪花模型分别是什么?数据仓库模型介绍》