0

我是 OLAP 的新手。

我了解表结构和 ETL 过程。

我不明白什么时候应该从事实表中删除数据。假设我正在为事件创建一个报告应用程序。每个事件都有完成所需的持续时间、退出代码和读取的总字节数。有几个维度,例如时间和位置。

假设我每天为我的事实表准备 100 万条新记录,总共 1 GB。如果我的 ETL 流程只将数据添加到我的事实表中,它会无限增长。我应该什么时候从我的事实表中删除数据?我应该把数据分成几个事实表(例如月表)吗?

有没有经验法则?

谢谢

4

2 回答 2

1

历史永远不应该被删除。

时期。

但是,有些人担心每天 1Gb 可能每 3 年变成 1Tb。这实际上并不重要,但有些人仍然喜欢担心存储价格。

您花在设计数据清除上的时间可能比您尝试保存的存储空间更昂贵。

[我发现 3 个 DBA 和 2 个程序员在讨论如何节省几百 MB。我说我会把他们都开到百思买买一个 500Mb 的磁盘驱动器,把零钱放在我车的地板上。5位顾问仅仅走进房间讨论它的价格已经超过了他们试图“节省”的存储价格。]

“我们可以总结一下吗?”的问题。完全取决于用户。有时你不能有用地总结,所以你也不能轻易删除任何东西。

有些人会说商业周期是 20 年或类似的时间,并且想要前 20 年(在 7Tb 上)的详细信息,然后是之前时间段的摘要。

于 2010-01-21T15:26:25.933 回答
1

绝不。您可以使用分区来处理旧记录并将分区移动到不同的驱动器。如果您按日期(月季、年)对事实表进行分区,那么出于所有实际目的,您大部分时间都会访问几个最新的分区。

请记住,DW 属于业务用户而不是 IT。不要限制(不要试图假设)业务分析师可能想问的问题——查询 DW。

于 2010-01-22T22:29:16.197 回答