34个ETL系统总结 P9 缓慢变化维度处理

9. 缓慢变化维度处理

缓慢变化维(SCD)问题是ETL设计中的一个核心问题。常用的有三种解决思路:

  • Type 1 : 直接覆盖,不记录历史数据,新数据覆盖旧数据,逻辑简单。
  • Type 2 : 创建一个新行,使用flag列来标识数据有效性。一般会有OpTime,StartTime,EndTime,变化说明 字段来对变化过程进行描述。
  • Type 3:添加一个新列,用不同的字段保存变化痕迹,例如 Current Column 和 Previous Column。它只能保存两次变化记录.适用于变化不超过两次的维度。

选择哪种方式需要结合业务需求来判断,遵循多范式编程和最小表达力原则(least expressiveness principle)。

猜你喜欢

转载自blog.csdn.net/hardyer/article/details/108711941