WiredTiger

WiredTiger 支援 LSM 樹來儲存索引。當你需要編寫隨機插入的大量工作負載時,LSM 樹的寫操作速度更快。

在 WiredTiger 中,沒有就地更新。如果需要更新文件的元素,將插入新文件,同時刪除舊文件。

WiredTiger 還提供文件級併發。它假定兩個寫操作不會影響同一個文件,但如果是,則一個操作將倒帶並在以後執行。如果倒帶是罕見的,那將是一個很好的效能提升。

WiredTiger 支援 Snappy 和 zLib 演算法,用於壓縮檔案系統中的資料和索引。Snappy 是預設值。它的 CPU 密集度較低,但壓縮率低於 zLib。

如何使用 WiredTiger 引擎

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>

注意:

  1. 在 mongodb 3.2 之後,預設引擎是 WiredTiger。
  2. newWiredTigerDBPath 不應包含其他儲存引擎的資料。要遷移資料,你必須轉儲它們,然後在新的儲存引擎中重新匯入它們。
    mongodump --out <exportDataDestination>
    mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
    mongorestore <exportDataDestination>