目标
某个分区的某天数据有误,就地重写会让并发查询读到半填充状态。本配方先把修正后的数据写入暂存分区(对读者不可见),再通过原子交换或替换把分区整体切换,从而让读者要么看到完整的旧分区、要么看到新分区;提醒需在切换后失效相关缓存与物化视图。
步骤要点
- 把修正数据写入暂存分区,对读者不可见。
- 用原子交换或替换整体切换分区。
- 切换后失效相关缓存与物化视图。
- 无原子交换能力时用视图切换或静默窗口。
INSERT INTO events_staging
SELECT * FROM recomputed_source
WHERE event_date = DATE '2026-10-01';
排错提示
- 无原子能力需退化为视图切换或静默窗口。
- 下游缓存可能陈旧,需失效。
- 不自动校验回填数据。
适用边界
- 原子交换依引擎而异。
- 并发读者需容忍切换点。