数据仓库之DIM层

本文详细介绍了数据仓库中维度表的设计,包括属性与度量的区别、星型模型与雪花模型、维度表的选择与设计流程。强调一致性维度的重要性,探讨了如何处理变化维,以及特殊维度如递归层次、行为维度、多值维度的处理策略。总结指出,维度设计是维度建模的关键,需考虑业务需求和分析需求。
摘要由CSDN通过智能技术生成

一、属性与度量

在介绍维表之前,我们首先要明白一点属性与度量的区别。属性是指是对象的性质或特性,它因对象而异,或随时间而变化,比如姓名和年龄。姓名因人而异,年龄会不断变化。而度量是对属性的标量刻画。并且度量具有统计意义,而属性并不具有统计意义,比如25岁的我在超市买了1瓶300ML农夫山泉,花了2元。这里的1瓶和2块就是对我买水的这个业务过程的度量。超市是(地理维度)属性,25岁是描述实体的属性,300ML是描述农夫山泉的属性。所以我们可以通过2个点来区分属性和度量,1.是否具有统计意义,2.是否会随时间变化。

二、维度表类型

维度表分两种,星型模型和雪花模型。在星型模型中,维表只和事实表关联,维表之间没有关联,查询性能好,但冗余度高。雪花模型是星型模式中的维度表进行规范化处理,进一步分解到附加表(维表)中冗余度小,但是查询性能差。一般而言,我们都使用星型模型。因为存储资源的成本会远远小于计算资源,我们会优先考虑这一点。而雪花模型也是会使用的,比如我们的维表中包括了太多的属性,为了确保及时产出,又或者某些字段相比而言会经常发生变动,我将一个维表拆成核心表和拓展表。又或者某些维度属性经常发生变化,我们可以考虑将快速变化的维度属性抽象出微型表,用业务主键或者代理键[1]进行关联。

星型模型(左

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值