MongoDB 3.0 ( 2.8rc ) リリースノート翻訳


MongoDB Advent Calendar 2013 第1日目の投稿です。

[MongoDB FAQ](http://www.mongodb.com/faq)にあったMongoDB 2.8についての概要と、[MongoDB 2.8rcリリースノート](http://docs.mongodb.org/manual/release-notes/2.8/)の翻訳をしました。

追記: MongoDB 2.8 は 3.0 になってリリースされました。

まずはまとめから。

## MongoDB 3.0 ( 2.8 ) のトピックを3行で
1. 新しいストレージエンジン[WiredTiger](http://wiredtiger.com/)が選択できるようになったよ
1. [WiredTiger](http://wiredtiger.com/)にはドキュメントレベルロックとデータ圧縮が実装されたよ。
1. <code>explain()</code>がパワーアップしたよ。

あと、2.8と直接関係は無いですが、MMSが大幅に機能追加されます。
[MongoDBダウンロードページ](http://www.mongodb.org/downloads)の右半分に大きくMMSが紹介されるようになっていますし、これから注力されていくことが予想されます。

## MongoDB 3.0 ( 2.8 ) には何が含まれますか？

原文: [What will be included in the MongoDB 2.8 release?](http://www.mongodb.com/faq#MongoDB_2.8)

MongoDB 2.8のリリースでは、 __ドキュメントレベルロック__ （すなわち、よりきめ細やかな並行性）と、 __MMSの自動化機能__ という2つの機能にフォーカスしています。MMSの自動化では、MongoDBへのユーザー作成、アップグレードや任意サイズの容量の追加をワンクリックで実施可能となります。MongoDB 2.8での追加機能についてより知りたい場合は、Co-Founder兼CTOであるEliot Horowitz'sの[MongoDB Worldでの基調講演](http://www.mongodb.com/presentations/mongodb-world-2014-keynote-eliot-horowitz)を見てください。また、長期のロードマップについて知りたい場合は、Eliotの[ロードマップについての講演](http://www.mongodb.com/presentations/mongodb-world-2014-roadmap-eliot-horowitz)を見てください。


## MongoDB 2.8rcリリースノート

原文: [Development Release Notes for MongoDB 2.8.0 Release Candidates](http://docs.mongodb.org/manual/release-notes/2.8/)


### 主な変更

#### ストレージエンジン: 並行性の改善, ドキュメントレベルロックとデータ圧縮

MongoDB 2.8はMMAPv1と[WiredTiger](http://wiredtiger.com/)の2つのストレージエンジンをサポートします。MMAPv1は過去のバージョンで使用されてきたストレージエンジンです。2.8のデフォルトはMMAPv1を使用します。

2.8のMMAPv1は __コレクションレベルロック__ をデフォルトでサポートします。WiredTigerストレージエンジンはMongoDB 2.8に、 __ドキュメントレベルロック__ と __データ圧縮__ を提供します。[WiredTiger](http://wiredtiger.com/)は全てのMongoDBの機能をサポートし、MMAPv1で運用されているレプリカセットやシャードクラスターと相互運用性がありますが、ディスク上でのストレージフォーマットの変更が必要です。現状のデータを[WiredTiger](http://wiredtiger.com/)用にコンバートするために、以下の2つの手順のどちらかが必要です。

- ローリング方式でのレプリカセットのアップグレード。参照: [Upgrade MongoDB to 2.8 — MongoDB Manual 2.6.4](http://docs.mongodb.org/manual/release-notes/2.8-upgrade/#upgrade-replica-set) または、[Upgrade MongoDB to 2.8 — MongoDB Manual 2.6.4](http://docs.mongodb.org/manual/release-notes/2.8-upgrade/#upgrade-cluster)
- [mongodump](http://docs.mongodb.org/manual/reference/program/mongodump/#bin.mongodump)と[mongorestore](http://docs.mongodb.org/manual/reference/program/mongorestore/#bin.mongorestore)を使ったデータインポート

[WiredTiger](http://wiredtiger.com/)を有効にしてMongoDBを起動させるには、以下の手順を実施してください。

```
mongod --storageEngine wiredTiger
```

 _訳注: ストレージエンジンについては玉川さんのスライド [丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました](http://www.slideshare.net/dragan10/20141126-mongo-marunouchilt)が参考になります_


#### レプリカセットの最大参加メンバーの増加

MongoDBのレプリカセットは最大50インスタンスまでメンバーを追加できるようになりました。レプリカセットのvotingメンバーの最大は7インスタンスまでで、これまでのリリースと同様です。

_訳注: これまでのレプリカセットの最大メンバー数は12インスタンスでした。_

### セキュリティの改善

#### SCRAM-SHA-1認証の追加

MongoDB 2.8には新しくSCRAM-SHA-1認証が追加されました。

#### Localhost Exceptionの変更

MongoDBにアクセスするため[Localhost Exception](http://docs.mongodb.org/manual/core/authentication/#localhost-exception)を使用する場合、オペレーションは制限されadminデータベースへのユーザー作成のみが可能となります。

### クエリーエンジンの改善

#### クエリー分析の改善

MongoDB 2.8には新しいクエリー分析システムが<code>explain()</code>で提供されます。これは全てのMongoDB クエリーオペレーションで使用できます。(例: db.collection.find(), db.collection.remove(), db.collection.update())

<code>explain()</code>の出力で、queryPlanner, executionStatsやserverInfoなどのフィールドが、クエリー実行とワークロードの新しい情報として提供されます。

#### シャードされたコレクションへ実行可能

シャードされたコレクションに対して<code>explain()</code>が実行可能になりました。

### アップグレードの手順

[Upgrade MongoDB to 2.8](http://docs.mongodb.org/manual/release-notes/2.8-upgrade/)にアップグレード手順があります。

### ダウンロード

MongoDB 2.8 release candidatesは[ダウンロードページ](http://www.mongodb.org/downloads)からダウンロードしてください。


## リリーススケジュール

- 2.8.0-rc2 2014/12/04
- 2.8.0-rc3 2014/12/17

https://jira.mongodb.org/browse/SERVER#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel


以上、MongoDB Advent Calendar 第1日目でした。