繁体   English   中英

事实表的影响维度

[英]Reaffecting dimension of fact table

我开始构建星型模式,我喜欢它^^

我在尺寸建模方面存在设计问题。

我为星型模式(最高粒度)中的每个事务都有一个事实表(Fact table),类似这样的东西(简化版)

transaction_facts
- id
- account_dim
- date_dim
- status_dim
- amount

status_dim
- id
- code
- description
- final

对于事务,在处理时状态没有明确定义。 大多数情况都属于以下情况:

  • 交易还可以
  • 交易是ko
  • 交易尚可,但有待确认。

最后一种状态是有问题的状态,因为我可以在原始交易后的几天(最多10天,有时甚至更多)收到交易确认。

我应该如何处理这种较晚的更改? 凭直觉,我很想将现有交易重新影响到新的维度,但这使我想到了两件事:

  • 这是一个好习惯吗? (请勿重写历史记录等。)
  • 如何处理BigQuery或Redshift或仅附加系统中的此类更改? 在非常多的行上,这将是一个问题,因为这些系统不能很好地与更新配合使用

如果

  • 这不必是真正的“金融交易”表,并且
  • 您不需要保留值的历史记录(例如,截至上一日期的值是什么)

然后,您可以/应该更新该值。

如果使用Redshift,则可以通过将大量更新写入登台表(从s3复制)然后一次全部应用这些更新来有效地做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM