AFAIK,最佳实践说您永远不应该更新事实表行,至少对于事务和定期快照粒度。在阅读Fact Table Surrogate Key时,发现了更新的概念:
某些用于更新事实行的 ETL 技术仅在将代理键分配给事实行时才可行。具体来说,将更新加载到事实行的一种技术是将要更新的行作为新行插入,然后作为单个事务的第二步删除原始行。从 ETL 的角度来看,这种技术的优点是提高了负载性能、提高了恢复能力和提高了审计能力。事实表行的代理键是必需的,因为在插入更新行和删除旧行之间,更新的事实行的旧版本和新版本通常会存在多个相同的主键。
Bob Becker 的意思是从事实表中更新/删除吗?这是一种常见的做法吗?