什么是雪花模型

时间:2024-03-23 15:59:29

1.什么是雪花模型 Snowflake schema

雪花模型是多维数据库中的表的逻辑排列方式,使得实体关系图类似于雪花形状。雪花模型由连接到多个维度的集中式事实表组成。“Snowflaking”是一种在星型模型中规范化维度表的方法。 当它沿着所有维度表完全标准化时,结果结构类似于雪花,其中事实表位于中间。雪花背后的原理是通过删除低基数属性和形成单独的表来对维度表进行规范化。

雪花模型类似于星型模型。 但是,在雪花模型中,维度被规范化为多个相关表,而星型模型的维度被非规范化,每个维度由单个表表示。
当雪花模型的尺寸复杂,具有多级关系,并且子表具有多个父表(“道路中的叉”)时,会出现复杂的雪花形状。

什么是雪花模型

2.是否符合3NF第三范式?

星型和雪花式模型最常见于维度数据仓库和数据集市 ,其中数据检索的速度比数据处理的效率更重要。因此,这些模型中的表很多未被标准化,并且经常被不符合第三范式的设计标准。

3.雪花模型比星型模型具有一些优势

  • 雪花模型与星型模型逻辑模型位于同一系列中。实际上,星型模型被认为是雪花模型的特例。

  • 在某些情况下,雪花模型比星型模型具有一些优势,包括:

  • 一些OLAP多维数据库建模工具针对雪花模型进行了优化。
    规范化属性可以节省存储空间,权衡是源查询连接中的额外复杂性。

4.缺点

  • 雪花模型的主要缺点是,与星型模型相比,附加级别的属性规范化会增加源查询连接的复杂性。

  • 与单平台尺寸相比,雪花图案受到了严厉的批评。 他们的目标被假定为标准化数据的高效且紧凑的存储,但是当浏览此维度中所需的连接时,这会导致性能不佳的显着成本。 由于浏览工具中的更好的查询性能,自从首次识别以来,这种缺点可能已经减少了多年。

  • 与高度规范化的事务模型相比,雪花模型的非规范化消除了规范化模型提供的数据完整性保证。必须高度控制和管理雪花模型中的数据加载,以避免更新和插入异常。

驱动Wikipedia