|
|
@@ -134,7 +134,7 @@ RDS PG / ES ──DataX──▶ RAW ──SparkSQL──▶ ODS ──▶ DWD
|
|
|
|
|
|
### 5.5 DWD 事实表设计(事件 vs 状态)
|
|
|
|
|
|
-**核心规则:DWD 事实表只承载业务事件(不可变事实),实体当前状态进 DIM 拉链表(`_zip_d`)**。
|
|
|
+**核心规则:DWD 事实表默认承载业务事件(不可变事实),实体当前状态进 DIM 拉链表(`_zip_d`)**。
|
|
|
|
|
|
**事件 vs 状态判别:**
|
|
|
|
|
|
@@ -166,6 +166,8 @@ RDS PG / ES ──DataX──▶ RAW ──SparkSQL──▶ ODS ──▶ DWD
|
|
|
|
|
|
**循环状态机的处理**:业务流程若存在循环(如拼团审核可能多次反复:"提交 → 拒绝 → 修改 → 再提交"),事件流水(`_apd_d`)天然支持任意次重复——每次状态变更追加一行,完整还原过程;DIM 拉链表(SCD Type 2)每次状态变更生成新行,旧行 `end_date` 置变更前一天,状态历史完整可回溯。
|
|
|
|
|
|
+**何时可考虑 acc**:固定线性里程碑场景(不循环、里程碑可枚举且单向推进,如严格不可逆的合同审批流程),如有具体场景按需单独评估,**不一刀切禁用**。新建 acc 表时在 PR / 设计稿里说明选型理由。
|
|
|
+
|
|
|
**自检**:建表想给字段加"时间戳 + 若干状态字段"时,停一步问:这是事件还是状态?事件 → `_apd_d`;状态 → `_zip_d`。
|
|
|
|
|
|
## 6. 数据同步策略
|