温馨提示×

MongoDB在CentOS中的存储引擎选择建议

小樊
62
2025-07-18 17:14:30
栏目: 云计算

在CentOS上配置MongoDB的存储引擎可以通过修改MongoDB的配置文件 /etc/mongod.conf 来实现。以下是详细的步骤和建议:

安装MongoDB

如果你还没有安装MongoDB,可以使用以下命令进行安装:

sudo yum install -y mongodb-org

启动MongoDB服务

安装完成后,启动MongoDB服务并设置开机自启动:

sudo systemctl start mongod
sudo systemctl enable mongod

修改MongoDB配置文件

使用文本编辑器(如 vinano)打开并编辑MongoDB的配置文件:

sudo vi /etc/mongod.conf

配置存储引擎

在配置文件中找到 storage 部分,并根据需要修改存储引擎。例如:

  • 使用 WiredTiger 存储引擎(默认)

    storage:
      dbPath: /var/lib/mongo
      journal:
        enabled: true
      engine: wiredTiger
    
  • 使用 MMAPv1 存储引擎(已弃用)

    storage:
      dbPath: /var/lib/mongo
      journal:
        enabled: true
      engine: mmapv1
    

请注意,从MongoDB 3.2版本开始,MMAPv1存储引擎已被弃用,并在MongoDB 4.0及更高版本中不再可用。因此,除非你有特别的理由必须使用MMAPv1,否则建议使用WiredTiger存储引擎。

保存并退出配置文件

保存对配置文件的修改并退出编辑器。

重启MongoDB服务

为了使配置更改生效,需要重启MongoDB服务:

sudo systemctl restart mongod

验证存储引擎

你可以通过连接到MongoDB并执行以下命令来验证当前使用的存储引擎:

mongo

在MongoDB shell中,运行以下命令:

db.runCommand({ connectionStatus: 1 })

在输出结果中,查找 storageEngine 字段,它将显示当前使用的存储引擎。

存储引擎特性对比

  • WiredTiger

    • 文档空间分配方式:采用B+Tree存储。
    • 并发级别:文档级别锁。
    • 数据压缩:支持snappy(默认)和zlib压缩。
    • 优势:相比MMAPv1无压缩,空间节省数倍;内存使用WiredTiger可以指定内存的使用大小;Cache使用WiredTiger引擎采用了二阶缓存WiredTiger Cache, File System Cache来保证Disk上数据的一致性。
  • MMAPv1

    • 文档空间分配方式:线性存储。
    • 并发级别:表级锁。
    • 数据压缩:无压缩。
    • 特点:从MongoDB 3.2版本开始不再支持MMAPv1存储引擎。

通过以上步骤和建议,你可以在CentOS上配置和选择合适的MongoDB存储引擎。根据你的需求选择合适的存储引擎,并确保配置文件正确无误后重启MongoDB服务即可。

0