Database WatchDatabase Watch 2012年2月版

どっちが面白い? ドキュメント指向データベース

加山恵美
2012/2/21

CouchDBのルーツはLotus Notesにあり?

 1月27日には、CouchConf Tokyoというイベントもありました。こちらもプレゼン資料をWebサイトから入手できます。先に挙げた、イベントの告知ページで入手できるようになっています。イベントに参加し損ねてしまった方はぜひどうぞ。

 このイベントを主催したCouchbaseという企業は、Apache CouchDBの発案者であり、初期からの開発者であるDamien Katz氏がCTO(Chief Technology Officer)を務めている企業で、今でも、Couchbaseにはオープンソースソフトウェアである「Apache CouchDB」の開発に貢献する社員が多く所属しています。

 現在、CouchbaseはApache CouchDBのほかにもう1つ、オープンソースのmemchached互換データベース「Membase」の開発も手掛けています。ちょうど昨年の2月、Apache CouchDBの開発をリードしていたCouchOne(当時)とMembaseの開発元であるMembaseが合併して生まれたのがCouchbaseという企業です。NoSQLデータベースの開発者同士が合併したということで、当時は話題になりました。

 Apache CouchDBとMembaseが生まれてから、Couchbaseという形で融合に至るまでの過程を、日本人によるCouch DBのユーザー会であるCouchDB JP河村康爾さんがまとめたものが以下の図です。図をクリックすると拡大版を表示します。

 今まで、ドキュメント指向のNoSQLデータベースの話を聞いているとLotus Notesを思い出すことがあったのですが、上の図を見るとApache CouchDBの発案者であり、開発者であるDamien Katz氏が、IBMでLotus Notesの開発に携わっていたとあります。NoSQLデータベースとLotus Notesに共通するものを感じていたのは偶然でしょうか。

 ランチタイムのライトニングトークでは、河村康爾さん(写真)が上の図を示しながら、Apache CouchDBとMembaseのそれぞれの成り立ちと現在に至るまでの流れを説明していました。なお河村氏は@ITで連載中の「こんなときに役立つCouchDB」の著者でもあります。

ドキュメント指向とKey-Value型の特長を融合

 Couchbaseは現在、Apache CouchDBとMembaseという、2つのオープンソースソフトウェアの技術を基にした独自製品「Couchbase」シリーズの開発、販売、サポートを手がけています。Couchbaseとは大ざっぱに説明すると、JSON形式でデータを入出力するCouchDBと、memcachedプロトコル互換のMembaseを融合したものです。

 Couchbaseの特長を挙げると「シンプル、速い、伸縮性がある(elastic)、モバイル」となります。Couchbaseの発表によると、今では本番環境で3500以上のCouchbaseサーバが稼働しているとのことです。

 イベントでは、来日したCouchbaseのメンバーがCouchbaseについて初歩から解説してくれました。その内容は、Couchbaseの概要から始まり、入門編、アプリケーション開発、本番環境の運用方法、モバイルアプリケーションの開発法までと、実に親切なものでした。

 イベントの雰囲気も終始和やかで、「Couchbase Server 2.0ツアー & デモ」を担当したCouchbaseのSenior Solutions ArchitectであるPerry Krug(ペリー・クリュッグ)氏(写真)は、冒頭の自己紹介で日本語で笑いを取るなど、ユーモアも交えて解説をしてくれました。

次バージョンで大きく進歩するCouchbase

 Couchbase製品の中でも、最も気になるのがCouchbase Server 2.0です。リリース時期は「未定」とのことですが、そう遠くはなさそうです。

 2.0には現行の1.8に加えて、インデックスの分散化、範囲検索などの新しいクエリ、クラスタを越えたレプリケーションなど、目を引く新機能が加わります。そして、Incremental Map-Reduceにも注目したいところです。Incrementalとは、「増分」を意味する言葉で、Incremental Map-Reduceは、文字通り増分データだけを対象にしたMap-Reduce処理を指します。

 一般に、Map-Reduce処理は大量のデータを対象に分散処理で素早く結果を返しますが、データが増えたり、変わったりするたびにすべてのデータを対象にMap-Reduce処理をするのは無駄です。そこで、増分データだけを対象にMap-Reduce処理をすることを可能にし、結果を既存のデータに追加することを可能にしたのです。

 アーキテクチャも若干変わります。現行の1.8ではpersistence層からストレージのインターフェイスを通じてCouchbaseのエンジンとMemcachedにつながっていましたが、2.0では新しいpersistence層から新たにクエリエンジンともつながるようになります。

 また「Couchbase Mobile Syncpoint」(旧Couchbase Mobile)も要注目です。これはAndroid、iOSなど、携帯型機器向けのOSに対応したCouchDBで、サーバで動作しているCouchbaseとリアルタイムに同期する機能と、Couchbase Mobile Syncpoint同士でデータを同期する機能を備えています。今後携帯型機器で活躍しそうです。

 携帯型機器の話題になりましたが、Couchbaseは、Docomo Innovations(アメリカにあるNTTドコモ関連企業)と戦略的提携を結んでいます。イベントではドコモのタブレットで使うアプリケーションのデモンストレーションがありました。子供と親と祖父母がそれぞれ持つタブレットなど、家庭内にある複数の機器の間で写真を同期するアプリケーションです。データベース管理システムにはCouchbaseを使っています。今後NTTドコモが提供するアプリケーションは、Couchbaseを利用したものが増えてきそうですね。

 Couchbaseのメンバーは、今回のイベントをきっかけに、日本市場へ注力し、日本のパートナー企業と協力関係を構築していくと意気込みを見せていました。セッション終了後、お酒を飲みながらの懇親会でも、参加者と主催者の間で多くの質問が飛び交い、とても盛り上がっていました(写真)。

将来、別の道をたどる可能性も

 今月は偶然にもドキュメント指向データベースの開発元が主催するイベントが続きました。どちらも日本市場への熱い意気込みを見せています。

 多様なNoSQLデータベースが散在しているという時期もありましたが、昨年あたりからMongoDB、Couchbase(CouchDB)が目立つようになってきました。特にMongoDBとCouchbaseはどちらもドキュメント指向で、ゲームでの利用実績が多いという共通点があります。そして、どちらも日本のコミュニティが拡大し活気付いてきています。

 同じような時期にユーザー数を増やし、「ドキュメント指向」という共通点を持っている以上、両者はいろいろな場面で比較されるでしょう。関係者としては複雑な思いを抱いているかもしれませんが、避けられぬ道なのかもしれません。

 確かに、両者を比較するとスキーマレス、手早く開発できること、高いスケーラビリティなど共通する特長がいくつも見つかります。とはいえ、細かいところを見るとメモリオブジェクトの扱い方や管理ツールの使いやすさなど、異なる部分も多くあります。今後バージョンアップを繰り返すことで、両者の違いが際立ってくるかもしれません。今後の動向が気になります。

 ではまた来月、お会いしましょう。過去記事もどうぞ!

前のページへ 2/2

Index
どっちが面白い? ドキュメント指向データベース
Page 1
開発メンバーが来日、MongoDB Tokyo 2012
社長と副社長のお話をお聞きする機会をいただきました!
日本のユーザーのスキルに感心
→ Page 2
CouchDBのルーツはLotus Notesにあり?
ドキュメント指向とKey-Value型の特長を融合
将来、別の道をたどる可能性も



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間