在Linux上使用MongoDB时,存储引擎选择建议如下:
- 默认选择WiredTiger:
自MongoDB 3.2起成为默认引擎,支持文档级并发控制(MVCC)、数据压缩(如Snappy、Zstd)和事务,适合高并发读写、数据量大及需节省存储空间的场景,性能较旧引擎提升显著。
- 特殊场景选择In-Memory:
若需极致读写速度且数据可完全容纳于内存,可选择该引擎,但需注意配置足够内存并监控内存使用。
- 避免使用MMAPv1:
该引擎为早期默认引擎,存在库级锁、无压缩和性能瓶颈,仅适用于遗留系统兼容,新部署不推荐。
配置建议:
- WiredTiger可通过参数调整缓存大小(建议设为物理内存50%-70%)、压缩算法等优化性能。
- 优先使用SSD存储数据文件,提升I/O效率。