本文概述
- 雪花模式的优势
- 雪花模式的缺点
雪花模式是星型模式的扩展, 星型的每个点都会爆炸成更多点。之所以称为雪花模式, 是因为雪花模式的图类似于雪花。雪花化是一种规范STAR模式中的维表的方法。当我们完全标准化所有维表时, 结果结构就像雪花, 中间是事实表。
雪花用于开发特定查询的性能。绘制该架构时, 每个事实都被其关联的维包围, 并且这些维与其他维相关, 并分支成雪花图案。
雪花模式包含一个事实表, 该事实表链接到许多维度表, 这些事实表可以通过多对一关系链接到其他维度表。雪花模式中的表通常被规范化为第三范式。每个维度表在层次结构中仅执行一个级别。
下图显示了一个具有两个维度的雪花模式, 每个维度具有三个级别。雪花模式可以具有任意数量的维度, 并且每个维度可以具有任意数量的级别。
文章图片
【什么是雪花模式()】示例:该图显示了一个带有销售事实表, 商店, 位置, 时间, 产品, 行和族维度表的雪花模式。市场维度具有两个维度表, 其中“商店”为主要维度表, “位置”为支腿维度表。产品维度包含三个维度表, 其中“产品”为主要维度表, 而“线”和“族”表为支腿维度表。
文章图片
星型模式将维度的所有属性存储到一个非规范化表中。与更规范的雪花模式相比, 这需要更多的磁盘空间。雪花化通过将具有低基数的属性移动到使用外键与核心维度表相关的单独维度表中来规范化维度。不建议仅以最小化磁盘空间为目的进行雪花处理, 因为雪花化处理会对查询性能产生不利影响。
在雪花中, 对模式表进行规范化以删除冗余。在雪花尺寸表中损坏为多个尺寸表。
该图显示了在制造公司中销售的简单STAR模式。销售事实表包括数量, 价格和其他相关指标。 SALESREP, CUSTOMER, PRODUCT和TIME是维度表。
文章图片
如上所示, 销售的STAR模式仅包含五个表, 而规范化版本现在扩展到了11个表。我们将注意到, 在雪花模式中, 每个原始维度表中具有低基数的属性都被删除以形成单独的表。这些新表通过人工键连接回原始维表。
文章图片
雪花模式旨在在更复杂的维度和关系之间进行灵活的查询。它适用于维度级别之间的多对多和一对多关系。
雪花模式的优势
- 雪花模式的主要优点是由于最小化磁盘存储需求并加入了较小的查找表, 从而提高了查询性能。
- 它在维度级别和组件之间的相互关系中提供了更大的可伸缩性。
- 无冗余, 因此更易于维护。
- 雪花模式的主要缺点是由于查找表数量的增加而需要进行额外的维护工作。它也被称为多事实星型模式。
- 查询更为复杂, 因此难以理解。
- 更多的表加入, 因此更多的查询执行时间。
推荐阅读
- 数据挖掘中的集群解析
- 什么是多维数据模型()
- 什么是事实星座图式()
- 什么是数据集市()
- 什么是数据立方体()
- 40多个顶级CSS常见面试问题和答案合集
- 最佳软件测试常见面试题及答案合集介绍
- Python学习线路图(如何学习Python(分步指南))
- Java学习线路图(如何学习Java(分步指南))