数据仓库之维度

变化维度

缓慢变化维度(SCD)

SCD处理方法一般有三种
scd分析

覆盖旧记录

如果符合要求,这是最简单的处理方式

添加一列

xx, yy, new_attr, old_attr
优势: 省空间,把变化前后的属性放在一起,能直观的反映属性的变化
劣势: 只能追溯前一次的属性,也就是只能反映属性的一次变化

拉链表

拉链表,极限存储,但是无需为了拉链而拉链。能用第二种方法解决就无需拉链。大部分场景都是反映最近一次的变化。
拉链表实施
拉链表更新策略
拉链表

混合表

就是在拉链表中不仅加上start_time,end_time,还加上valid以及old_attr属性列
这样就结合了方法二和方法三的优势

快速变化维度(RCD)

在这种情况下,直接可以将快速变化维度拆出来,单独做一张表。

参考资料

scd/rcd
参考资料

层级维度

层级表与打平表的讨论

层级表是通过纵向添加记录的方式来实现层级的灵活变化,打平表如果要增减层级是需要修改表结构的。
优:从这一点而言,层级表非常灵活的支持了扩展,尤其是在类似评论这种无限层级扩展的业务场景下。层级表还有一个打平表无法实现的功能,就是跨层级多选。
劣:但是层级表和事实表关联的时候,会使得数据翻倍。

父子层级表

闭包表与桥接表

全路径

抓换

层级表与非层级表的转化

max level

父子层级表转化为闭包表

父节点中有set,通过递归从叶子节点开始,每个节点算出自己的叶子节点。

特殊场景维度

有些维度是和交易流水耦合在一起,比如订单的发生的时段,就是和流水表耦合在一起的。

维度建模总结

转维度建模总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值