1

我有一个数据集市,它在 BigQuery 数据库中保存了数十亿个事件记录。每条记录都有一个唯一的事件 ID,并包括一个属性——我们称之为属性“x”——在创建时设置一个临时值。

此属性值是临时的,但可能需要在稍后阶段更新。在接下来的 20 到 90 天内,运行各种数据挖掘任务,这些任务可能会为属性“x”提供一个新值。

进行此类更新的最佳方法是什么?

我有两个想法1)。将属性“x”移出事件记录,在事件记录和维度之间添加一个新维度和多对多连接表。这样我只需要更新连接表。我的数据工程师担心这会影响查询/报告性能。2)。将新的“创建日期”记录添加到事件表中,并将检索键更改为事件 ID 加上最近创建日期的组合。这将允许我通过写入具有相同事件 ID 和新属性“x”值以及更新日期创建值的新记录来更新属性“x”。

想法?

4

1 回答 1

0

如果更新 X 将是一年中的一到两次活动;在这种情况下,我会建议采用第二个想法。但是,如果这是您需要定期做的事情,那么第一个想法是解决这种情况的最佳方法。

于 2021-06-02T13:53:43.777 回答