レプリケーションを強化した「Apache CouchDB 2.1」が登場

 ドキュメント指向データベース「Apache CouchDB」の開発チームは8月7日、最新版となる「Apache CouchDB 2.1.0」の公開を発表した。レプリケーション管理のための新機能「Replication Scheduler」の導入などが特徴となる。

 Apache CouchDBは並列指向関数型言語「Erlang」で実装され、JSONをネイティブでサポートしたNoSQLデータベース。データをJSON形式で格納できるほか、WebブラウザからHTTP経由で直接アクセスできるといった特徴を持つ。ドキュメントのクエリ、結合、変換などの操作もJavaScriptで行うことができる。オフライン優先の独自プロトコル「Couch Replication Protocol」を使って、クラスタ、モバイル端末、Webブラウザなどの間でシームレスなデータフローを設計できる。

 Apache CouchDB 2.1は、2016年9月に公開されたバージョン2系のポイントリリース。2.0と99%のAPI互換性を保ち、性能、データの冗長性、拡張性などを強化した。

 最大の特徴は「Replication Scheduler」の導入。大規模なレプリケーションジョブ用のスケジューラーを中核としたレプリケーターで、Replication Managerを利用してサーバー単位でレプリケーションを管理できる。リソースに応じてレプリケーションへの割り当てを管理でき、同時レプリケーションの数に上限を設けるなどのことができる。一時的なネットワーク障害からの復旧も改善し、旧バージョンでは10回連続失敗したジョブはこれ以上リトライされなかったが、継続してリトライが行われるという。

 APIの検査とクエリも強化した。デフォルトでは、Replication Schedulerはエラーやトリガーなどのステータスともにドキュメントのアップデートを行わない。ドキュメントのステータスのクエリには_scheduler/docs APIを使う必要がある。

 またMangoでのクエリも強化した。_findエンドポイントで新しい結合演算子$allMatchがサポートされ、特定のクエリにマッチする要素をもつ配列フィールドを含むドキュメントを返すことができる。

 このほかにも、多数の細かな機能強化が加わっている。クラスタ設定ページ、データベースエンコードの問題などを修正したほか、バグも多数修正した。

 Apache CouchDB 2.1ではWindowsおよびMac OS X、Linux向けのバイナリが公開されており、プロジェクトのWebサイトより入手できる。

Apache CouchDB
http://couchdb.apache.org/