Ubuntu下MongoDB存储引擎选择指南
快速建议
引擎对比与适用场景
| 引擎 | 并发与事务 | 持久化与恢复 | 压缩 | 典型场景 | 注意事项 |
|---|---|---|---|---|---|
| WiredTiger | 文档级并发、MVCC;支持多文档事务(4.0+) | 检查点 + WAL(Journal);默认journal.enabled: true | Snappy(默认)/ zlib | 通用OLTP/OLAP、高并发读写、需要事务与压缩 | 合理设置缓存,避免与系统争用内存 |
| MMAPv1 | 集合级锁、无事务 | 依赖文件系统页缓存 | 无内置块压缩 | 仅遗留系统、极低写并发的读为主场景 | 官方已弃用,不推荐新部署 |
| In-Memory | 极高并发、内存级延迟 | 数据不落盘;需复制集提升可用性 | 不涉及磁盘压缩 | 实时分析、排行榜、会话缓存 | 成本高,需充足内存与容灾设计 |
| 说明:WiredTiger为默认且功能完备;MMAPv1已过时;In-Memory用于特殊低延迟场景。 |
如何做出选择
WiredTiger关键配置要点(Ubuntu)
硬件与部署建议