DUICUO

オープンソースおよびSaaS製品がデータベースのリファクタリングを開始

低価格のキー/バリューストレージリポジトリの世界は現在急速に拡大しています。以下に、注目すべき新しいプロジェクトをいくつかご紹介します。

倹約

これはFacebook.comが開発し、Apacheソフトウェアプロジェクトに寄贈されたツールです。実際にはデータベースではありません。むしろ、データ構造を記述したファイルを選択した言語のコードに変換するプリコンパイラのようなものです。この種のコードには追加のライブラリが必要になる場合があります(Javaには、このデータを出力ストリームにシリアル化するメソッドが用意されています)。しかし、独自のコードと統合できます。このプロジェクトには、多くの主要言語(C、Perl、Java、PHP、Pythonなど)向けの定型化されたプログラムが含まれており、特定の言語に精通したプログラマーが使用する様々な方言に対応できるように設計されています。プログラマーがスキーマを提供し、残りの処理はプロジェクトが処理します。

スルーDB

これは、LuceneテキストインデックスライブラリとThrift、そしてクラウドにデータを保存するための他の多くのツールを連携させる接続レイヤーです。より洗練された方法としては、高速ストレージのためにデータをローカルディスクに保存し、トランザクションコレクションのコピーをAmazon S3(Simple Storage Service)に送信するという方法があります。この製品はまだ正式リリースされていないため、Subversionリポジトリからコードをダウンロードする必要があります。

モンゴDB

JSON(JavaScript Object Notation)形式のキー/値ペアを複数のノードにまたがって保存し、フルテキスト値インデックスを構築することで、データの内部構造を詳細に分析することが可能です。MongoDBオープンソースプロジェクトを立ち上げた10gen社は、MongoDB上で動作するアプリケーションサーバー「Babble」のリリースも計画しています。また、多数の分散サーバーにまたがるシェアードナッシングパーティションを作成する「Auto-sharding」という製品は、2009年後半にリリースされる予定です。

Hibernate Shards と HiveDB

従来のデータベースに水平パーティショニング機能を追加するためのツールはいくつかありますが、代表的な例としてはHibernate ShardsとHiveDBが挙げられます。これらのツールは連携してデータベースクラスター内の適切なサーバーにクエリを送信し、Hibernateインターフェースを介して任意のデータベースに接続します。

[編集者のおすすめ]

  1. Linuxシステム上でNetwareサーバーを構成する方法
  2. 組み込み機器におけるLinuxシステム開発
  3. Linuxカーネルの仕組みを深く掘り下げる(1)