架构风格与模式58 条

物化视图与读模型

把复杂查询结果预先计算并存储,查询时直接读取;刷新方式有全量重建、增量更新与事件驱动更新,适用于报表、搜索与分析型读场景。

刷新策略全量重建简单但成本高;增量更新快但逻辑复杂;事件驱动实时性好
常见载体数据库物化视图、独立读库、搜索索引、缓存宽表
关键指标刷新延迟、重建耗时、数据一致性校验

运维清单

项做法
重建路径保留全量重建脚本并定期演练
增量位点记录消费位点与最后成功时间
对账定时抽样比对源表与读模型
降级重建期间读旧版本视图或回源查询
物化视图必须有重建与校验手段,否则数据偏差会长期累积且难以发现。

易错点

  • 只做增量刷新没有全量重建路径,历史数据无法修复
  • 刷新失败没有告警,读模型悄悄过期

数据来源与参考

  • Martin Fowler bliki《CQRS》相关讨论
  • 《数据密集型应用系统设计》(Kleppmann,O'Reilly)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌