数仓之事实表和维度表(一)

事实表:

1.0事务事实表:(->明细事实表->聚合事实表)

记录的是事务层面的事实,保存的是最原子的数据,也叫做“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。

1.1.0明细事实表(单事件事实表,流程事实表): 一般位于DWD层,该层事实表设计不进行聚合,汇总等动作,仅做数据规范化,数据降维动作,同时数据保持业务事务粒度,确保数据信息无丢失。
  • 单事件事实表:
    1.更方便跟踪业务流程细节数据,针对特殊的业务分析场景比较方便和灵活,数据处
    理上也更加灵活;
    2.不方便的地方就是数仓中需要管理太多的事实表,同时跟踪业务流转不够直观;

  • 流程事实表
    能够更直观的跟踪业务流转和当前状态,流程事实集中,方便大部分的通用分析应
    用场景,由于和业务侧的数据模型设计思路一致,也是目前最常用的事实表设计;但是细节
    数据跟踪不到位,特殊场景的分析不够灵活;

1.2.0聚合事实表:相对于明细事实表,聚合事实表通常是在明细事实表的基础上,按照一定的粒度粗细进行的汇总、聚合操作,它的粒度较明细数据粒度粗,同时伴随着细节信息的丢失。聚合事实表一般位于DWS层,聚合事实表的数据来源可以是两种明细事实表中的任一种。
  • 通用汇总层:封装底层计算逻辑,做通用汇总,避免上层直接访问下层明细数据,应用广泛
  • 日粒度:数据范围一般为T-1天的数据
  • 周期性积累:用于周期性分析,数据来源于通用汇总层,或者日粒度
  • 历史积累:历史数据积累的大表,用于用户画像,特征提取,经营分析等场景,计算比较耗时。

2.0周期快照事实表

以一定的周期间隔来记录事实,它是在事务事实表之上建立的聚集表,记录的事实是这一段时间的聚集事实值。eg:销售日快照表,库存日快照表

3.0积累快照事实表

存储的不确定周期的事务数据的快照信息。


维度表

1.0稳定维度表

部分维度表的维度是在维度表产生以后,属性是稳定的,无变化的。eg:时间维度,区域维度,

2.0缓慢渐变维度表(拉链表)

维度数据会随着时间发生变化,变化速度非常缓慢。eg:电商平台的用户维度表,用户的收货地址是缓慢变化的。

总而总之:事实表有三种(事务事实表,周期快照事实表,历史快照事实表),维度表有两种(稳定维度维表,渐变维度维表)。


数仓分层:DW,DWD,DWB,DWS

data wareHouse 数据仓库
data wareHouse detail 细节数据层,业务层和数仓的隔离层
data wareHouse base 基础数据层,中间层
data warehouse service 服务数据层,作用于某个主题域的服务数据,一般是宽表

你可能感兴趣的:(数仓)