数据仓库中的时间变量

时间:2011-12-13 15:38:40

标签: timestamp data-warehouse

我正在使用自上而下的方法处理我的数据仓库,因此DW在3NF,数据集市是多维的。我已经读过,DW应该有一个时间戳(或类似的东西)来保存历史数据 我的问题是:
我是否必须在我的DW中存储过去的数据,或者是否足以具有时变维度(技术上我使用类型2 SCD,在必要时)。

如果DW必须是时变的,那么:
我们什么时候以自上而下的方式使用SCD? 我应该使用时间戳作为表PK的一部分吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果可能,请尝试避免在规范化架构中跟踪历史记录。 2型SCD更加简单。但是,您确实需要使数据集合持久化 - 无法重建历史记录,因此数据集市是历史数据的规范来源。

一些提示:

  • 请勿在尺寸中重复使用ODS / DW键。合并数据的自然键。这会将您的ODS与星型模式分离,并允许您在不影响星型模式的情况下重建ODS。

  • 跟踪历史记录并从复杂的标准化数据重建历史位置非常繁琐。不要打扰;坚持使用ODS中的“当前状态”。

  • 创建泛型类型2维度处理程序(您可以使用系统数据字典中的数据)。这允许您呈现预加载表并使用处理程序将数据合并到维度。

    这样做可以将ETL与历史跟踪分开,并允许您单独测试它们。您可以通过验证预加载表是否正确来测试ETL - 您不必在场景之前/之后进行测试。您可以使用维度处理程序的一组单元测试来测试历史记录跟踪。

    这种类型的体系结构可以显着简化测试。

  • 持久数据集市而不是持久消耗臭氧层物质的一个优势是您可以轻松地在ODS上进行大手术。如果ODS不必跟踪历史记录,则可以根据需要删除和重新创建历史记录,您可以轻松更改数据模型,而无需迁移历史数据。