我有一个数据集市,它在 BigQuery 数据库中保存了数十亿个事件记录。每条记录都有一个唯一的事件 ID,并包括一个属性——我们称之为属性“x”——在创建时设置一个临时值。
此属性值是临时的,但可能需要在稍后阶段更新。在接下来的 20 到 90 天内,运行各种数据挖掘任务,这些任务可能会为属性“x”提供一个新值。
进行此类更新的最佳方法是什么?
我有两个想法1)。将属性“x”移出事件记录,在事件记录和维度之间添加一个新维度和多对多连接表。这样我只需要更新连接表。我的数据工程师担心这会影响查询/报告性能。2)。将新的“创建日期”记录添加到事件表中,并将检索键更改为事件 ID 加上最近创建日期的组合。这将允许我通过写入具有相同事件 ID 和新属性“x”值以及更新日期创建值的新记录来更新属性“x”。
想法?