python数据分析人工智能机器学习程序员Hadoop

数据仓库快速入门教程10-星型模式和雪花模式

2019-06-30  本文已影响5人  python测试开发

什么是多维模式?

多维模式专门用于建模数据仓库系统。这些模式旨在满足为分析目的(OLAP)设计的超大型数据库的独特需求。

数据仓库架构的类型:

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

什么是星型模式?

星型模式是最简单的数据仓库模式。它被称为星型模式。在星型模式中,星形的中心可以有一个事实表和相关维度表的数量。也称为Star连接模式,并且针对查询大型数据集进行了优化。

image.png

事实表位于中心,其中包含每个维度表的键,如Deal_ID,Model ID,Date_ID,Product_ID,Branch_ID和其他属性,如销售单位和收入。

星图的特点:

什么是雪花架构?

Snowflake Schema是Star Schema的扩展,它增加了额外的维度。它被称为雪花,因为它的图形类似于雪花。

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

image.png

雪花图式的特点:

Star Schema Snow Flake Schema
维度的层次结构存储在维度表中。 层次结构分为不同的表。
它包含由维度表包围的事实表。 一个由维度表包围的事实表,它们又由维度表包围

在星型模式中,只有单个连接创建事实表和任何维度表之间的关系。雪花模式需要许多连接才能获取数据。
简单的DB设计。 |非常复杂的DB设计。
非规范化数据结构和查询也运行得更快。 |规范化数据结构。
高水平的数据冗余 |非常低级别的数据冗余
单维表包含聚合数据。 |数据拆分为不同的维度表。
多维处理速度更快。 |由于复杂的连接,多维数据集处理可能会很慢。
使用Star Join Query Optimization提供性能更高的查询。表可以连接多个维度。 |Snow Flake Schema由集中式事实表表示,不太可能与多个维度相关联。

什么是Galaxy架构?

Galaxy Schema包含两个共享维度表的事实表。它也被称为Fact Constellation Schema。该模式被视为一组星星,因此命名为Galaxy Schema。

image.png

如上图所示,有两个事实表。在Galaxy架构中,共享维称为Conformed Dimensions。

Galaxy Schema的特点:

参考资料

什么是星团模式?

image.png

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

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

摘要

上一篇 下一篇

猜你喜欢

热点阅读