在CentOS中选择MongoDB存储引擎,需结合应用场景和性能需求,核心建议如下:
默认选择WiredTiger:
自MongoDB 3.2起为默认引擎,支持文档级并发控制(MVCC)、数据压缩(Snappy/zlib/LZ4)和事务,适合高并发读写、大规模数据存储场景(如OLTP、OLAP混合负载),性能与稳定性最优。
cacheSizeGB
参数调整缓存大小(建议设为服务器内存的50%-75%),并启用日志压缩以提升效率。特殊场景选择In-Memory:
若需极致读写速度(如实时分析、缓存),可将数据存储在内存中,但需确保服务器有足够内存,且不支持持久化(数据重启后丢失)。
避免使用MMAPv1:
该引擎为早期版本默认引擎,仅支持表级锁,并发性能差,且无压缩和事务支持,新版本已弃用,仅适用于极少数低负载场景。
总结:优先选择WiredTiger,满足绝大多数高性能、高并发需求;仅在内存充足且无需持久化的场景下考虑In-Memory。配置时需在/etc/mongod.conf
中指定storage.engine
参数。