新版 3.0 總算比較像是企業級商用資料庫了。

1. 預設引擎 MMAPv1 的優化

  • 從 database-level locking 變成 collection-level locking,將有助於 high concurrent read/write。
  • Journaling 的優化。

2. Replica sets 支援 MMAPv1 及 WiredTiger 異質引擎的混用場景。

若以效能考量,強烈建議選用 WiredTiger 引擎而不是預設的 MMAPv1。

一來,MMAPv1 雖然優化為 collection-level locking,但 WiredTiger 是更好的 document-level locking (類似 RDBMS 中的 row-level locking);二來,WiredTiger 面對高”寫”併發可以選 LSM,而若是高”讀”併發也可以選 Btree,不管何場景的效能都比 MMAPv1 來得好。

但風險是 WiredTiger 仍太年輕,穩定性需要時間證明。