维度建模的缓慢变化维
1维度建模的数仓中,有一个概念SCD:slowly channing dimensions.缓慢变化维。因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失而发生缓慢的变化,这种随时间发生变化的维度我们称之为缓慢变化维。
如何处理缓慢变化维的影响,举个例子
以用户的地理信息来举例
第一种方法:直接在原来维度的基础上进行更新,不会产生新的纪录
更新前
id account_no name address
8888 GM20161204 liutao shanghai
更新后:
id account_no name address
8888 GM20161204 liutao hangzhou
直接更新address里的值
第二种方法:不修改原有的数据,重新产生一条新的纪录,这样可以追溯所有的历史记录
更新前
id account_no name address
8888 GM20161204 liutao shanghai
更新后:
id account_no name address
8888 GM20161204 liutao shanghai
id account_no name address
9999 GM20161204 liutao hangzhou
多了一条记录
第三种方法:直接在原来维度的基础上进行更新,不会产生新的纪录但只会记录上一次的历史纪录
更新前
id account_no name address
8888 GM20161204 liutao shanghai
更新后:
id account_no name address old_address
8888 GM20161204 liutao hangzhou shanghai
多一个字段来存放以前的记录