理解缓慢变化维(Slowly Changing Dimension)

“缓慢变化维度”是在构建数据仓库时比较常见的一种情况。简而言之它适用于这种情况——数据记录会随着时间而发生变化


举个例子:

Larry是S公司的一个职员。他居住在上海,于是查找用户表有以下记录:

Record IDNameLocate
1001 LarryShanghai


在一段时间以后,Larry被派遣到了北京的分公司工作。那么S公司如何更新员工信息表以反映出这次变化?这个就是缓慢变化维的问题所在。

通常有三种方法解决该问题:

Type 1: 替换原始记录

Record IDNameLocate
1001 LarryBeijing

该方法优点是简单方便;缺点是无法追溯历史数据。

Type 2: 插入一条新记录

Record IDNameLocate
1001LarryShanghai
1002LarryBeijing

该方法的优点是保留了全部的历史记录;缺点是使得数据表记录飞涨,可能导致影响查询效率。


Type 3: 更新原始表结构

Record IDNameOriginal LocateCurrent LocateEffective Date
1001LarryShanghaiBeijing2014-01-01

该方法既可以反应历史记录,也可以避免成倍的数据增长。但是缺点是适用场景非常少,仅能反映出部分历史记录。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值