缓慢渐变维度

在维度建模的数据仓库中,有一个著名概念叫 Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写成 SCD。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化。这种随时间发生变化的维度一般称为缓慢变化维。

 

处理缓慢变化维的方法通常分为3中:

 

第一种方式是直接覆盖原值。这种处理最容易实现,但是没有保留历史数据,无法分析历史变化信息。

 

第二种方式是添加维度行。这种处理需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。

 

Version Data:在维度表中增加一个新的Version Number字段,当数据发生更新时,通过更新这个字段跟踪历史版本的变化。

 

Flag Current:在维度表中增加一个新的字段Current,即当前标志,当数据发生变化时,更新Current字段来跟踪当前的有效值和历史信息。

 

Effective Date Range:通过在表中增加两个日期字段“生效日期”和“失效日期”来跟踪历史数据的变化。

 

第三种方式是添加属性列。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段直接跟新为新值。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最近一次的变化信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值