MongoDB在Ubuntu上的存储引擎选择与配置
一、存储引擎选择
MongoDB支持多种存储引擎,Ubuntu上常用的是WiredTiger,它是默认引擎,适合大多数场景,尤其适合需要事务、文档级锁和压缩的场景。
- WiredTiger:支持文档级并发控制、事务(MongoDB 4.0+)、数据压缩(默认Snappy,可配置为Zlib),性能和存储效率均衡。
- MMAPv1:早期默认引擎,不支持事务和压缩,仅适用于读密集型且无需高并发控制的旧系统(MongoDB 4.2已弃用)。
- In-Memory:仅适用于企业版,数据仅存内存,延迟极低,但需较高内存配置。
二、配置方法
通过修改配置文件/etc/mongod.conf
设置存储引擎,无需额外安装插件。
-
修改配置文件
sudo nano /etc/mongod.conf
在
storage
模块中指定引擎:storage: engine: wiredTiger # 选择WiredTiger引擎 dbPath: /var/lib/mongodb # 数据存储路径(可自定义) journal: enabled: true # 启用日志(确保数据持久性)
- 若需配置WiredTiger缓存大小(默认为物理内存的50%),可添加:
wiredTiger: engineConfig: cacheSizeGB: 4 # 设置为4GB(根据服务器内存调整)
- 若需配置WiredTiger缓存大小(默认为物理内存的50%),可添加:
-
重启服务生效
sudo systemctl restart mongod
-
验证引擎
连接MongoDB后执行命令:use admin db.runCommand({getParameter: 1, storageEngine: 1})
返回结果中
name
字段应为wiredTiger
。
三、注意事项
- 数据兼容性:切换引擎前需备份数据,不同引擎间数据格式可能不兼容。
- 性能调优:
- WiredTiger可通过调整
cacheSizeGB
优化内存使用,避免与其他服务争抢内存。 - 禁用不必要的日志(如测试环境)可提升写入性能,但会降低数据安全性。
- WiredTiger可通过调整
- 企业场景:若需内存引擎,需购买MongoDB企业版或使用Percona Server for MongoDB的RocksDB引擎。
四、参考资料
- MongoDB官方存储引擎文档
- Ubuntu MongoDB安装配置指南
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!