数据仓库之维度

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xinjianwuhen1991/article/details/78767006

变化维度

缓慢变化维度(SCD)

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

覆盖旧记录

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

添加一列

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

拉链表

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

混合表

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

快速变化维度(RCD)

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

参考资料

scd/rcd
参考资料

层级维度

层级表与打平表的讨论

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

父子层级表

闭包表与桥接表

全路径

抓换

层级表与非层级表的转化

max level

父子层级表转化为闭包表

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

特殊场景维度

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

维度建模总结

转维度建模总结

展开阅读全文

没有更多推荐了,返回首页