Slowly Changing Dimensions有多慢?

How slow is Slowly Changing Dimensions?

在缓慢变化的场景中维度变化的频率如何?

我正在查看 SQL 缓慢变化维度的服务器时态表(类型 2)。一些维度表更新得相当频繁(每天!从这个意义上说,它们不是真正的'slowly changing'。它们不是严格意义上的真正维度)。

维度每天变化是否常见?

"Speed"的维度变化应该相对于tables的变化速度来考虑。

如果维度每天都在变化,但事实 table 每分钟都在变化,那可能没问题。

如果维度每天都在变化,而事实 table 每天都在变化,很可能是设计错误。您目前拥有的是不正常的,您需要修复设计。

问题的根源通常是维度和事实之间的混淆 - 如果设计者将事实建模为维度属性,则维度会变化得太快。例如,如果您将价格添加到产品维度,并且价格每天都在变化,您会将 "slow change" 转换为 "rapid change"。这里的解决方案是将价格分成包含价格历史的事实 table。

在不太明显的情况下,一个常见的解决方案是将快速变化的属性分成 "mini-dimension"。例如,如果某些客户属性的变化比其余属性快得多,请将 table 拆分为 "Customer" 和 "Customer Profile" 维度。这种"mini-dimensions"也称为维度设计的"Type 4"变化。

你可以在这里看到一个例子:

SCD Type 4, a Solution for Rapidly Changing Dimension