MongoDB在Ubuntu中的存储引擎选择指南
优先选择WiredTiger:
作为MongoDB的默认引擎,WiredTiger平衡了性能、可靠性与功能,满足绝大多数业务需求(如事务、高并发、数据压缩)。Ubuntu环境下无需额外配置,默认即可使用。
避免使用MMAPv1:
该引擎已过时,存在性能瓶颈(写入锁竞争),且新版本MongoDB不再支持,不建议在新系统中部署。
谨慎选择In-Memory:
仅适用于对速度要求极高且能接受数据丢失的场景(如缓存)。需根据数据量调整内存配置(storage.inMemory.engineConfig.inMemorySizeGB),避免内存溢出。
RocksDB按需选用:
若系统为写入密集型且使用SSD存储,可尝试RocksDB,但需承担额外的维护成本(如编译、社区支持)。建议在小规模测试后再推广到生产环境。
编辑MongoDB配置文件(/etc/mongod.conf),设置存储引擎及相关参数:
storage:
dbPath: /var/lib/mongodb # 数据存储路径(需提前创建并赋予权限)
journal:
enabled: true # 启用WAL日志(确保崩溃恢复)
wiredTiger:
engineConfig:
cacheSizeGB: 4 # WiredTiger缓存大小(建议为物理内存的50%-75%)
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
bindIp: 127.0.0.1 # 生产环境改为0.0.0.0以允许远程访问
修改后重启服务生效:
sudo systemctl restart mongod