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緩存大?。ńㄗh為物理內存的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