Mongodb
是否可以將 mongodb 索引移動到另一個文件系統?
是否可以分離 MongoDB 文件位置,以便索引位於另一個文件系統上?
在下面的範例中,我有 1.5TB 數據 + 330GB 索引的數據庫。我有一個非常快的儲存空間,但不足以容納整個數據。我假設如果我將索引移到那裡,我可以獲得更好的性能。
有沒有辦法這樣做?
# ls -l /data/mongodb --block-size=G total 1962G -rw-------. 1 root root 1G May 27 20:17 collection-0--8049282980716619517.wt -rw-------. 1 root root 1G May 27 20:17 collection-2--8049282980716619517.wt -rw-------. 1 root root 1G May 27 20:17 collection-4--8049282980716619517.wt -rw-------. 1 root root 1627G May 27 20:17 collection-7--8049282980716619517.wt drwx------. 2 root root 1G May 27 20:14 diagnostic.data -rw-------. 1 root root 1G May 27 20:17 index-1--8049282980716619517.wt -rw-------. 1 root root 1G May 27 20:17 index-3--8049282980716619517.wt -rw-------. 1 root root 1G May 27 20:17 index-5--8049282980716619517.wt -rw-------. 1 root root 1G May 27 20:17 index-6--8049282980716619517.wt -rw-------. 1 root root 15G May 27 20:14 index-8--8049282980716619517.wt -rw-------. 1 root root 320G May 27 20:17 index-9--8049282980716619517.wt drwx------. 2 root root 1G May 27 13:54 journal -rw-------. 1 root root 1G May 27 20:17 _mdb_catalog.wt -rw-------. 1 root root 0G May 27 20:17 mongod.lock -rw-------. 1 root root 1G May 27 20:17 sizeStorer.wt -rw-------. 1 root root 1G May 23 12:50 storage.bson -rw-------. 1 root root 1G May 23 12:50 WiredTiger -rw-------. 1 root root 1G May 27 20:17 WiredTigerLAS.wt -rw-------. 1 root root 1G May 23 12:50 WiredTiger.lock -rw-------. 1 root root 1G May 27 20:17 WiredTiger.turtle -rw-------. 1 root root 1G May 27 20:17 WiredTiger.wt #
需要明確的是,此功能僅在使用 WiredTiger 儲存引擎時可用。
要使用,請像這樣呼叫 mongod:
mongod --dbpath /tmp --storageEngine wiredTiger --wiredTigerDirectoryForIndexes
在您的 dbpath 中,您將看到一個名為 index 的目錄,其中將儲存索引。
還將 yaml 更新為
storage: engine: wiredTiger wiredTiger: engineConfig: directoryForIndexes: true
請注意在測試環境中嘗試一次。請詢問是否需要任何進一步的幫助。