具有大尺寸的定期快照事实表

时间:2016-10-06 07:43:34

标签: data-warehouse snapshot dimensional-modeling

我被要求为星图建模 我有3个维度:

  1. 日期(日,月,年,周,季,......)
  2. 地方(500个不同的值)
  3. 产品(80k不同产品)
  4. 主要问题是每个地方每天结束时会存储多少项目(产品)。

    经过一些关于尺寸建模的研究时间。我想我应该实现一个定期快照表。无论如何通过Kimball Docs阅读,我注意到定期快照需要为每个维度组合输入一个条目。这意味着我应该每天添加 40M 行(80k * 500) 知道这些产品是(真正的)慢速移动器,并且很多地方长期存储产品,这听起来像是一种极端的过度杀伤。 仅供参考,三年后源数据库中的事务为150k行。

    我应该每天真正添加40M行,还是可以添加指定产品的非空商店?此外,如果出于某种原因,有一天所有商店都是空的,我应该在那天进行商品入口(商店和商品的尺寸为N / A)吗?

1 个答案:

答案 0 :(得分:2)

您正确建模。这取决于规格,但通常只存储某个位置存在的产品(您不存储零),这可能会产生一个远低于最大值80k的数字。

如果您想进一步减少数量,可以存储最后N天,然后开始在“冷”表中移动数据。您存储(比方说)最近10天的快照,然后仅存储主“热门”事实表中的每月快照。

不要排除在报表系统中动态计算快照的可能性,具体取决于您的环境(例如,在MDX或DAX中)。混合解决方案也是可能的(即只有在飞行中计算的最后一个月)。