三种策略
| 类型 | 做法 | 历史保留 | 典型场景 |
|---|---|---|---|
| Type 1 | 原值覆盖 | 不保留 | 纠错、无分析价值的属性 |
| Type 2 | 新增版本行(生效区间) | 完整保留 | 会员等级、组织归属、地址 |
| Type 3 | 增加前值列 | 保留有限历史 | 只关心上一版本的简单场景 |
选型提问
选型提问
业务是否需要用当时的等级或归属回溯历史指标?
→ 需要:Type 2(拉链表)
→ 不需要且允许覆盖:Type 1
→ 只对比上一版:Type 3同一张维度表可对不同属性采用不同策略:等级用 Type 2,姓名拼写纠错用 Type 1。
缓慢变化维解决维度属性随时间改变的存储问题:Type 1 直接覆盖、Type 2 新增版本行保留历史、Type 3 增加列存前值;选哪种取决于是否需要用历史属性还原当时口径。
| 类型 | 做法 | 历史保留 | 典型场景 |
|---|---|---|---|
| Type 1 | 原值覆盖 | 不保留 | 纠错、无分析价值的属性 |
| Type 2 | 新增版本行(生效区间) | 完整保留 | 会员等级、组织归属、地址 |
| Type 3 | 增加前值列 | 保留有限历史 | 只关心上一版本的简单场景 |
业务是否需要用当时的等级或归属回溯历史指标?
→ 需要:Type 2(拉链表)
→ 不需要且允许覆盖:Type 1
→ 只对比上一版:Type 3