加载中...
物化视图模式是一种以空间换时间的设计模式。它预先按查询需求把数据计算并存储为一份专用的只读视图,当出现频繁的复杂查询而原始数据结构不利于高效读取时,直接查这份预生成的视图,从而大幅提升读性能,代价是需要维护视图与源数据的一致。

| 类型 | 数据/云架构模式 |
| 核心思想 | 以空间换时间 |
| 数据性质 | 只读派生数据 |
| 一致性 | 最终一致 |
| 相关模式 | CQRS 读模型 |
物化视图模式(Materialized View Pattern)是一种数据设计模式,它针对特定的查询场景,预先把结果计算好并持久化存储为一份专用视图,读取时直接使用该视图,避免每次都对原始数据做昂贵的聚合或联表运算。
原始数据的存储结构通常是为写入和事务一致性优化的,并不一定适合高效读取。当某些查询频繁出现、涉及跨表联接或复杂聚合时,实时计算会带来很高的开销。物化视图预先把这些结果算好并存起来,把计算成本从查询时转移到数据变更时,以额外的存储和维护换取读取性能的大幅提升。它与命令查询职责分离(CQRS)的读模型思想高度契合。
物化视图广泛用于报表统计、仪表盘、搜索索引、跨库聚合等读多写少的场景。许多数据库原生支持物化视图,事件驱动系统则常通过监听领域事件来增量更新读模型。它尤其适合把不同数据源的信息汇聚成便于展示的形态。
问:物化视图和普通视图有什么区别?答:普通视图只是一条查询的逻辑封装,每次访问都实时执行;物化视图则把结果真实存储下来,读取快但需要额外维护和刷新。
问:视图数据会不会过期?答:会,视图与源数据之间通常是最终一致的。需根据业务对新鲜度的要求选择刷新策略,权衡实时性与维护成本。

| 类型 | 数据/云架构模式 |
| 核心思想 | 以空间换时间 |
| 数据性质 | 只读派生数据 |
| 一致性 | 最终一致 |
| 相关模式 | CQRS 读模型 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧