モバイルからクラウドまで、幅広く活躍するCouchDBこんなときに役立つCouchDB(2/3 ページ)

» 2011年12月22日 00時00分 公開
[河村康爾CouchDB JP]

クラウドではなく「グラウンドコンピューティング」だ!

 CouchbaseのWebサイトにあるケーススタディを見ると、実際の企業においてCouchDBがどのように役立っているのかが分かります。

 動物保護団体のWWFは、CouchDBを利用してFacebookアプリをたった2日間で作り上げたそうです。FacebookのグラフAPIはJSON形式でデータを入出力するので、JSONをそのまま格納するCouchDBは便利に使えるでしょう。MVCフレームワークを使うと、いろいろできますが、扱いが難しく、開発にも長い時間がかかります。CouchDBなら、単体で簡単なWebアプリケーションを作れるので、低予算、短期間のWebアプリケーション開発に向いているのです。

 医療関係のコンピュータシステムを構築しているDimagiは、コンピュータが手に入りにくく、ネットワークや電力も安定していないアフリカでも利用可能な医療情報収集システムを開発しました。各地域でケアした患者のデータを携帯電話に記録し、モデムネットワークを介して各クリニックのコンピュータへ、さらに国が管理するデータベースへと、CouchDBのレプリケーション機能を利用してデータを収集しています。

 CouchDBのメインコミッタであるChris Anderson(クリス・アンダーソン)氏は、オフラインでも動く必要があるシステムを、クラウドコンピューティングに対してグラウンドコンピューティングと呼んでいます(写真1)。オフラインでも携帯機器でデータを記録可能で、オンラインになったらサーバとデータを同期。携帯機器に対応し、Master-Masterレプリケーション機能を持つCouchDBならではの仕組みです。

写真1 グラウンドコンピューティングの考え方を説明するChris Anderson氏 写真1 グラウンドコンピューティングの考え方を説明するChris Anderson氏

 運動靴のメーカーであるSKECHERSでは、膨大な数の集計ロジックをMapReduceを利用したViewに移行したところ、コードを整理できて、メンテナンスしやすくなり、処理性能が改善し、新機能の追加などを検討する余裕が生まれたそうです。

 イギリスの放送局であるBBCでは、複数のデータセンター間でTbytes級のデータ、数億のリクエストを処理するシステムを構築しています。レプリケーションにはHTTPプロトコルを利用するので、ファイアウォールを通過させるのも簡単です。CouchDBのレプリケーションをうまく利用した例と言えるでしょう。

この連載では、こういうアプリケーションを作ります!!

 この連載では、CouchDBの特長を十分に生かしたサンプルアプリケーションの構築を通して、「こんなときこそCouchDB!」というイメージを皆さんに持っていただくことを目的としています。

 CouchDBの、携帯機器でも動作するという特長と、オフラインでも動作するという特長から、営業マン向けの日報を作ろうと考えました。営業マンの持ち歩く携帯機器にCouchDBを利用したアプリケーションをインストールし、オフラインでもデータ入力を可能とするのです。

 オフラインで入力したデータはオンラインになってから本社のサーバと同期させます。同僚の予定や、移動先でのプレゼン資料も事前に本社からダウンロードしておき、オフラインでも見られるようにします。

 さらに、スキーマを考える必要がないという特長を生かすために、テキストデータだけでなく、音声メモ、写真、ムービーといったデータを自由に添付できるようにします。GPSなどを駆使し、位置情報に基づいた営業サポート機能も実装します。

 本社側には、すべての営業マンの日報を確認できるWebアプリケーションを作ります。CouchDBのレプリケーションとViewを利用してデータを集計するのです。

 営業マンが持つ携帯機器の利用情報を収集し、統計情報を集中管理する機能も持たせます。部門ごとにデータへのアクセス権限を管理する機能も持たせましょう。複数サーバを利用したレプリケーション、負荷分散やフェイルオーバーもするようにして、可用性の高いシステムを構築します。

 以上に挙げた機能を実現するために、この連載では以下のようなシステムを作っていきます。

  • Androidアプリケーションを開発。
  • 携帯機器のデータとサーバのデータの同期を実現。
  • サーバのスケールアウトを可能にする。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。