大数据数仓模型设计理论

 

一、事实表又可分成以下三种:

事务事实表:保存各业务过程的原子操作事件,即最细粒度的操作事件

周期快照事实表:以具有规律性的,可预见的事件间隔来记录事实,主要用来记录一些存量型(库存数量,账户余额),或者状态型(温度,行驶速度)等指标

累积快照事实表:是一个业务流程中多个关键业务过程联合处理而构建的事实表,主要用于分析业务过程(里程碑)中之间的时间间隔,典型示例如下

订单id

用户id

下单日期

支付日期

发货日期

确认收货日期

订单金额

支付金额

1001

1234

2020-06-14

2020-06-15

2020-06-16

2020-06-17

1000

1000

事实表度量值可分为以下三种:

1)可加事实:可以按照与事实表相关的所有维度进行累加

2)半可加事实:只能按照事实表一部分维度相加,例如周期性快照事实表,库存和商品维度是可以累加的,但是周期维度(时间)是不能相加的,因为没有任何意义

3)不可加事实:不可加事实是指完全不具备可加性,例如比率型事实。不可加事实通常需要转换成可加事实,例如比率转换成分子和分母的累加。

事实表设计流程:1)选择业务 2)声明粒度 3)确定维度 4)确定事实

二、维度表:事实表围绕业务过程设计,而维度表围绕业务过程所处的环境设计,维度表的字段称之为维度属性

设计步骤:

1)确定维度。梳理业务,确定业务过程发生的环境,如果维度属性很少,可以考虑把维度属性加到事实表中,即维度退化

2)确定主维表和相关维表。维表也可以说是实体对象,主维表即主表,相关维表即主表对应的子表、孙表

3)确定维度属性。1.尽量生成丰富的维度属性(业务梳理要细化) 2.维度属性值应该用文字说明,或者编码+文字,而不仅仅保存编码值,因为可以避免最终输出结果的时候还需要再去关联字典表,影响效率 3.尽量沉淀通用维度属性。例如在相亲业务中,财富、外貌、身高维度属性可以沉淀成是否高富帅维度属性,即用一个维度字段表示多个维度字段的含义。

维度数据的历史状态如何保存:

1)全量快照表

2)拉链表

多值维度:事实表中一条记录在某个维度表中有多条记录与之对应

多值属性:维表中的某个属性同时有多个值,称之为“多值属性”,例如商品维度的平台属性和销售属性,每个商品均有多个属性值。此场景可用hive复杂数据类型(map...),或者将多值属性放在多个字段,但只适用于属性值个数固定的情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值