使用 big flat table 时,我应该如何管理维度字段中的更改?
how should I manage changes in a dimension field when using big flat table?
假设我有一个用户(维度)进行的销售(事实条目)。
最初,我会将这个销售+用户插入到我的数据仓库中的大公寓 table 中。到目前为止听起来很标准
但是我的疑惑是,当维度条目发生变化时,我该怎么办?例如,用户更改了他的地址。
在这种情况下我应该如何处理?我是否应该在我的大公寓中引入新的销售,使用与以前相同的数据,更新用户信息?table?
注意:我说的是维度等,但我并没有假装使用星型模式作为中间步骤(至少对于我的学习问题而言)
用户维度通常称为conformed/shared维度。
一致的维度是从不同的事实table引用时具有完全相同的含义和内容的维度。
你的情况:
But my doubt is about what should I do when a dimension entry have a
change?, for example, the user change his address.
- 如果您有存储用户地址以供解析的需求
目的,您可以选择缓慢变化的维度类型 2 – 行
版本控制。因此,您需要更新您的事实 table 和 link
到用户的最新版本。
- 如果您不需要跟踪用户的地址变化,您可以
使用 Slowly Changing Dimension Type 1 – No History。因此无需更新事实行,因为它们将始终指向用户的唯一版本
假设我有一个用户(维度)进行的销售(事实条目)。 最初,我会将这个销售+用户插入到我的数据仓库中的大公寓 table 中。到目前为止听起来很标准
但是我的疑惑是,当维度条目发生变化时,我该怎么办?例如,用户更改了他的地址。
在这种情况下我应该如何处理?我是否应该在我的大公寓中引入新的销售,使用与以前相同的数据,更新用户信息?table?
注意:我说的是维度等,但我并没有假装使用星型模式作为中间步骤(至少对于我的学习问题而言)
用户维度通常称为conformed/shared维度。
一致的维度是从不同的事实table引用时具有完全相同的含义和内容的维度。
你的情况:
But my doubt is about what should I do when a dimension entry have a change?, for example, the user change his address.
- 如果您有存储用户地址以供解析的需求 目的,您可以选择缓慢变化的维度类型 2 – 行 版本控制。因此,您需要更新您的事实 table 和 link 到用户的最新版本。
- 如果您不需要跟踪用户的地址变化,您可以 使用 Slowly Changing Dimension Type 1 – No History。因此无需更新事实行,因为它们将始终指向用户的唯一版本