NoSQLデータベース、Key-valueストアの「Redis 2.0」がリリース

 Key-valueストア型データベース「Redis」の開発チームは9月3日、最新版「Redis 2.0」を公開した。MULTI/EXECコマンドの追加や仮想メモリ対応などが特徴となる。ライセンスはBSD License。

 RedisはANSI Cで書かれたKey-valueストア型データベース。memcachedと似ているが、データをストレージに永続的に格納でき、格納するデータの形としてテキストだけでなくリストやセット、順序付きセットなども利用できる点が特徴。ANSI Cで実装されており、POSIX互換であるLinuxや各種BSD、Mac OS XやSolarisなどのシステムで動作する。公式にはサポートしていないものの、Windows環境でもCygwinを利用することでコンパイルおよび実行が可能だそうだ。

 また、単なるKey-Valueストアとは異なり、すべてのデータ型に対し要素の挿入や取り出し(push/pop)、追加や削除(add/remove)といった変更や、集合の和・積・差といった操作などをアトミックに行えるのも特徴。また、RubyやPHP、Python、Erlang、Perl、Haskell、Goなどさまざま言語で対応するバインディングライブラリも提供されている。

 最新版では、MULTI/EXECコマンドが追加され、単一のアトミックブロックとして複数のコマンドを実行可能になった。また仮想メモリのサポートも行われ、キーをメモリに保存し、対応する値はディスクに書き出す、といったことが可能になった。これにより、RAMの制限を越えてデータセットを拡大できるとしている。

 パブリッシュ/サブスクライブ型のメッセージングも導入した。クライアントがチャネルに送信したメッセージを受け取ることができる。BLPOP/BRPOPをサポート、単一のキー上で複数のキーとバリューのペアを保持できるようハッシュデータ型も追加されている。

 RedisはSalvatore Sanfilippo氏らが開始したプロジェクトで、米VMwareが支援している。

Redisのプロジェクトページ
http://code.google.com/p/redis/