2015年2月3日にMongoDB 3.0 がアナウンスされました。要約と所感をかきます。
MongoDB 3.0 アナウンス 要約
ストレージエンジンとして"WiredTiger"が導入される
- ドキュメントロックになり、書き込み性能7〜10倍UP
- ドキュメント圧縮が選べるようになり、最大80%圧縮
既存のmmapベースの仕組みも、ストレージエンジンも"MMAPv1"という名前になって改善される
- データベースロックからコレクションロックに変更
- ジャーナルがよくなった
ストレージエンジンAPIを設けた。
- これによりWiredTigerとMMAPv1の二つをストレージエンジンを、同一レプリカ内に同居できる
- あたらしいストレージエンジンが出たらレプリカに追加して試すことができる
- ストレージエンジン開発プラットフォームとしてのMongoDB という考え方が生まれる。ストレージエンジンの開発者はアプリとのやり取りはMongoDBにまかせ、ストレージエンジンの開発に集中できる。
"Ops Manager"という管理機能
- 監視やバックアップといったオペレーションが95%削減される
MongoDB 3.0は"default database"をねらう
- MongoDB 3.0は"default database"をねらう
所感
ストレージエンジンAPIというのが最も重要なポイントだと思う。これでストレージエンジンの開発が活発になる事は間違いないので、今はできないトランザクションや日本語全文検索をサポートするストレージエンジンを、オープンソースとして誰か開発してくるのではないかと期待してしまう!
WiredTigerの導入は書き込み速度はもちろんだが、ディスク容量削減の効果に期待。今までのMongoDB 2系はJSONのキーも文字列として格納する必要があり、ディスク容量がRDBMSと比較して大きくなってしまう問題点があったが、圧縮できると嬉しい。
Opt Managerは、今でもMMSオートメーションで実現できている事の延長なので、それほど大きく変わらない気がする。
一番気になるのは、2系からのマイグレーションがどれだけスムーズにできるか。結局2.8は出ない、3.0にいくみたいなので下位互換性が保たれるか心配。