クラウド向けデータベースの選択肢(2/2 ページ)

» 2008年09月22日 15時31分 公開
[Darryl K. Taft,eWEEK]
eWEEK
前のページへ 1|2       

 さらにマグナッソン氏は、GoogleがAppEngineを通じて提供している「Bigtable」について論じた。Bigtableは分散型ストレージシステムで、非常に巨大なサイズ(例えば、数千台のコモディティサーバに分散した何ペタバイトものデータ)に拡張するよう設計された構造型データを管理する。Bigtableは、エンティティと呼ばれるデータオブジェクトを格納する大規模ストレージをサポートする。「しかしBigtableでは、すべてのクエリに対してインデックスが必要とされるほか、フェッチリクエストが最大1000個のエンティティに制限されるといった制約条件もある」と同氏は指摘する。

 マグナッソン氏によると、Amazonの「SimpleDB」はテーブル型のデータストアである。「これはS3(Amazon Simple Storage Service)用のメタデータストアとして用意されたものであるようだ」と同氏は話す。SimpleDBは自動インデックス作成をサポートするため、データの一貫性が保たれるが、ドメイン間のジョインには対応せず、クエリは最大250項目に制限され、あらゆるものがストリングとして扱われるという。

 一方、10genの「Mongo」は、10genプラットフォーム用のデータベースである。10genでは、動的で拡張性の高いミッションクリティカルなWebサイト/アプリケーションを素早く容易に構築することを可能にする新しいPaaS技術を開発中だ。10genソフトウェアスタックは、クラウド環境内で運用するために作成された新しいツールスタック(データベース、グリッド管理、アプリケーションサーバ)を提供するという点でGoogle App Engineと似ている。

 マグナッソン氏によると、Mongoはオブジェクト/ドキュメントストアだという。「これは、バイナリJSON(JavaScript Object Notation)のようなものだ」と同氏は話す。Mongoはクラウドを対象とした動的言語型ODBMSである。「言語バインディング機能により、開発者は自分の好きな言語を利用することができる」と同氏は話す。

 もう1つのクラウドコンピューティング方式が「AppJet」で、これは10genの方式に近いという。「JavaScriptベースのアプリケーションサーバをクラウドに置いたようなものだ」と同氏は説明する。

 各手法の概要説明の結論として、マグナッソン氏は「どれもリレーショナル方式を採用しておらず、データはクラスタ方式で扱われている」と述べた。

 さらにマグナッソン氏は、そのほかの「注目すべき技術」として、Sun MicrosystemsのMySQL部門の「Drizzle」技術などを紹介した。DrizzleはクラウドとWeb用の軽量型SQLデータベースである。「DrizzleはMySQLから発展したもので、リレーショナル型である。MySQLデータベースから派生し、クラウドとネットワークアプリケーション用に最適化されている」と同氏は語る。

 マグナッソン氏によると、もう1つの注目技術が「CouchDB」である。CouchDBはApache Software Foundationが開発したドキュメント指向型データベースで、Erlangというプログラミング言語で書かれている。また、分散ファイルシステムとMapReduceエンジンを組み合わせた「Hadoop」という技術もあるという。

 このように数多くのオプションと広大なクラウド環境が存在するため、「プログラミング手法も変わるだろう。これはとても楽しい状況になると思う」(マグナッソン氏)

前のページへ 1|2       

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.

注目のテーマ