常见误区
把 mmap 当作“自动持久化”会导致崩溃恢复时索引与数据文件不一致。
正确做法
- 数据追加写与索引写分离。
- 先写 WAL,再更新 mmap 索引元数据。
- 使用版本号和校验和做启动恢复。
恢复流程
- 读取 checkpoint。
- 回放 WAL 到最新一致点。
- 校验索引页并重建损坏段。
小结
mmap 解决的是访问路径效率,不是事务一致性。持久化协议仍要自己设计。
把 mmap 当作“自动持久化”会导致崩溃恢复时索引与数据文件不一致。
mmap 解决的是访问路径效率,不是事务一致性。持久化协议仍要自己设计。