数据仓库模型中的雪花模式

2021年3月20日17:10:47 发表评论 1,205 次浏览

介绍:雪花模式是星型模式的变体。在这里, 集中的事实表连接到多个维度。在雪花模式中, 维度存在于多个相关表的规范化中。当星型模式的维度详细且高度结构化, 具有多个关系级别且子表具有多个父表时, 雪花结构就实现了。雪花效果仅影响维度表, 不影响事实表。

例子:

数据仓库模型中的雪花模式1

Employee维度表现在包含属性:EmployeeID, EmployeeName, DepartmentID, Region, Territory。 DepartmentID属性与雇员与表部门尺寸表。的部门维用于提供有关每个部门的详细信息, 例如部门的名称和位置。的顾客维度表现在包含以下属性:CustomerID, CustomerName, Address, CityID。 CityID属性链接顾客尺寸表市尺寸表。的市维度表包含有关每个城市的详细信息, 例如CityName, 邮政编码, 州和国家/地区。

星形模式和雪花模式之间的主要区别在于, 雪花模式的维表以规范化的形式维护, 以减少冗余。这样做的好处是这样的表(规范化)易于维护并节省存储空间。但是, 这也意味着需要更多的联接才能执行查询。这将对系统性能产生不利影响。

什么是雪花?

雪花设计是尺寸表进一步扩展和规范化的结果。换句话说, 如果维度表的低基数属性已划分为单独的规范化表, 则该维度表被称为雪花化。然后, 将这些表通过参考约束(外键约束)连接到原始维表。

通常, 不建议在维度表中使用雪花, 因为雪花会影响维度模型的易理解性和性能, 因为需要结合更多表才能满足查询要求。

雪花模式的特征:在以下条件下的雪花尺寸模型:

  • 雪花模式使用较小的磁盘空间。
  • 将维度添加到架构很容易实现。
  • 有多个表, 因此会降低性能。
  • 维度表由两组或更多组属性组成, 这些属性定义了不同粒度的信息。
  • 同一维表的属性集由不同的源系统填充。

优点:雪花模式有以下两个主要优点:

  • 它提供了结构化的数据, 减少了数据完整性的问题。
  • 它使用小的磁盘空间, 因为数据是高度结构化的。

缺点:

  • 雪花减少了维表占用的空间, 但与整个数据仓库相比, 节省的空间通常很小。
  • 除非有必要, 否则请避免雪花化或尺寸表的标准化。
  • 不要将一维表的层次结构雪花化为单独的表。层次结构应仅属于维表, 并且绝不应该被雪化。
  • 在最低可能的细节上设计了可以属于同一维的多个层次。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: