首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据仓库中的时间变化

数据仓库中的时间变化
EN

Stack Overflow用户
提问于 2011-12-13 23:38:40
回答 1查看 561关注 0票数 0

我对我的数据仓库使用了自顶向下的方法,所以数据仓库在3NF中,数据集市是多维的。我读过,DW应该有一个时间戳(或类似的东西)来保存历史数据。

我的问题是:

我是否必须将过去的数据存储在我的DW中,或者具有随时间变化的维度就足够了(从技术上讲,我在必要的地方使用类型2 SCD)。

如果数据仓库必须是时变的,则:

我们什么时候在自上而下的方法中使用SCD?

我应该使用时间戳作为表的主键的一部分吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-12-23 19:12:16

如果可能,尽量避免在标准化的模式中跟踪历史记录。类型2 SCD要简单得多。但是,您确实需要使您的数据集市持久化-历史不能重建,因此数据集市是您的历史数据的规范来源。

小贴士:

  • 不要在维度中重用ODS/DW键。在数据的自然键上进行合并。这将您的ODS与您的星型模式解耦,并允许您在不影响星型schemas.
  • Tracking历史的情况下重建ODS,并且从复杂的归一化数据重建历史位置真的很麻烦。
  • 创建了一个通用的类型2维处理程序(您可以使用系统数据字典中的数据)。这允许您呈现预加载表,并使用处理程序将数据合并到维度。

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

这种类型的架构极大地简化了测试。

  • 持久化数据集市而不是持久化ODS的一个优点是,您可以轻松地在ODS上执行重大操作。如果ODS不必跟踪历史记录,则可以根据需要删除并重新创建它,并且您可以轻松更改数据模型,而不必迁移历史数据。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8491876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档