4

我试图了解 SCD 类型 5,6 和 7 的工作原理。

我阅读了 Kimball Group 的这篇文章和关于 Type 6 的堆栈溢出答案。

我可以理解 Type 6 的概念,它是如何工作的以及何时使用它。

但是,我仍然无法理解类型 5 和 7 的工作原理以及何时使用它们。非常感谢用示例解释类型 5 和 7。

提前致谢。

4

1 回答 1

6

我不会太担心——类型 3 以上的所有类型在不同时间都被称为类型 6。基本上有一系列技术可以处理更复杂的历史跟踪,您可以选择适合您情况的组合。话虽如此,我将尝试从本文中提供更多关于 Type 5 和 7 的想法:

设计技巧 #152 渐变尺寸类型 0、4、5、6 和 7

  • 类型 5 是“迷你维度”的变体,其中大维度的某些属性可能会发生变化,但您不想执行类型 2,因为该维度有数百万行。您将这些属性分解为一个像垃圾维度一样构建的维度,您可以在事实中使用该表的键来跟踪历史记录。在类型 5 变体中,您在维度本身中包含新键作为类型 1 属性,允许您随时查询维度本身以找出这些属性的值,而无需通过 Fact。更多信息,谷歌“迷你维度金球”。

  • 类型 7 是实现与类型 6 相同事物的不同方式,其中您将事物的类型 1 版本与事物的类型 2 版本分开维护。通常,事物的类型 1 版本是通过使用类型 2 版本的视图创建的。通过在事实中拥有这两个键,您可以查询事实发生时的情况以及基于当前版本的维度的情况。它避免了用当前状态更新旧值的需要。

于 2017-04-04T08:01:57.713 回答