这是一个非常核心的数据仓库维度建模问题。三种主要的事实表(事务事实表、周期快照事实表和累积快照事实表)在描述业务过程的时间跨度、粒度和用途上有着根本的区别。
下面我将详细解释这三种事实表的区别,并使用一个经典的“订单”业务场景来举例说明。
核心区别总览
| 特性 | 事务事实表 | 周期快照事实表 | 累积快照事实表 |
|---|---|---|---|
| 时间维度 | 特定时间点(例如:时刻) | 周期末尾(例如:每天) | 不确定的时间跨度(覆盖整个工作流) |
| 粒度 | 每个事务事件一行(最细粒度) | 每个周期每个实体一行 | 每个业务过程实例一行(如一个订单) |
| 事实 | 事务性度量(如金额、数量) | 累积性度量(如期末余额、周期内总数) | 里程碑度量(如各个阶段的时间戳、耗时) |
| 日期外键 | 一个(事务日期) | 一个(周期日期,如快照日期) | 多个(关键业务里程碑日期) |
| 数据加载 | 追加(INSERT only) | 追加(INSERT only) | 更新(INSERT & UPDATE) |
| 典型应用 | 记录原子事件,支持事件分析 |

最低0.47元/天 解锁文章
1015

被折叠的 条评论
为什么被折叠?



