1-背景
众所周知,虽然维度表属性相对稳定,但是并不是一成不变的,尽管相当缓慢,维度值仍会随时间而变化。比如商品类目的改变,医院等级的改变。
在一些情况下,保留历史数据没有什么分析价值,而在另一些情况下,保留历史数据是非常重要的。
2-解决方案
2.1-重写维度值
在维度表中,仅需以当前值重写先前存在的值,不需要触碰事实表。
缺点:如果业务需要准确的跟踪历史变化,这种方案是没法实现的,并且在以后想改变是非常困难的。
修改后表数据:
2.2-插入新的维度行
插入新的维度行。采用此种方式,保留历史数据,
维度值变化前的事实和过去的维度值关联,维度值变化后的事实和当前的维度值关联。
缺点:虽然此方案能够区分历史情况,但是该方式不能将变化前后记录的事实归一为变化前的维度或者归一为变化后的维度