事实表:
1.0事务事实表:(->明细事实表->聚合事实表)
记录的是事务层面的事实,保存的是最原子的数据,也叫做“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
1.1.0明细事实表(单事件事实表,流程事实表): 一般位于DWD层,该层事实表设计不进行聚合,汇总等动作,仅做数据规范化,数据降维动作,同时数据保持业务事务粒度,确保数据信息无丢失。
-
单事件事实表:
1.更方便跟踪业务流程细节数据,针对特殊的业务分析场景比较方便和灵活,数据处
理上也更加灵活;
2.不方便的地方就是数仓中需要管理太多的事实表,同时跟踪业务流转不够直观; -
流程事实表
能够更直观的跟踪业务流转和当前状态,流程事实集中,方便大部分的通用分析应
用场景,由于和业务侧的数据模型设计思路一致,也是目前最常用的事实表设计;但是细节
数据跟踪不到位,特殊场景的分析不够灵活;
1.2.0聚合事实表:相对于明细事实表,聚合事实表通常是在明细事实表的基础上,按照一定的粒度粗细进行的汇总、聚合操作,它的粒度较明细数据粒度粗,同时伴随着细节信息的丢失。聚合事实表一般位于DWS层,聚合事实表的数据来源可以是两种明细事实表中的任一种。
- 通用汇总层:封装底层计算逻辑,做通用汇总,避免上层直接访问下层明细数据,应用广泛
- 日粒度:数据范围一般为T-1天的数据
- 周期性积累:用于周期性分析,数据来源于通用汇总层,或者日粒度
- 历史积累:历史数据积累的大表,用于用户画像,特征提取,经营分析等场景,计算比较耗时。
2.0周期快照事实表
以一定的周期间隔来