以前に読んだGoogleに関する本にも同じような技術に関する記述があった(タブレット辺りだろうか)。Googleで使われている技術はGoogleだからこそ(圧倒的台数のコンピュータ、ネットワーク、その需要など)できることだが、その論文を元に同様の技術を一般のサービスでも利用できるレベルに落とし込んでくれる人たちがいる。

ピクチャ 33.png

サーバを起動した所

 

オンメモリのKey-Valueデータベースと言えばmemcachedが有名だ。だがmemcachedは再起動すればその内容が消えてしまう。逆に常にHDDに書き込めば内容は保持されるが、ディスクアクセスが多くなってしまい利点が活かせなくなる。その中間を担うのがRedisだ。

今回紹介するオープンソース・ソフトウェアはRedis、永続化にも対応したオンメモリKey-Valueデータベースシステムだ。

RedisはKey-Valueのデータベースではあるが、一定時間経過した後にその内容をHDDに書き込んでくれる。そして再起動時にはそのデータを読み込んでから起動するので、データの永続性が保たれるようになっている。

ピクチャ 35.png

クライアントから接続した所

 

また、値の形式が文字列だけでなく、リストとセットに対応しているのも特徴だ。キーの取り出し方はキー名を直接指定する他、ワイルドカードを使って複数のキーをまとめて取り出すこともできる。

複数のデータベースに対応し、それらを切り替えて利用することもできる。更新や削除の結果が保証されないので、使いどころが難しいが、追加のみのキャッシュとして使えば再起動した際にもDBの負荷が高まらないで済むという利点はありそうだ。

サーバはLinuxやMac OSX向けに提供され、クライアント用ライブラリとしては現在はRubyのみが提供されている。動作が若干安定しないか、という気もするがまだベータ段階にあっては致し方ないだろう。今後の開発に期待したいソフトウェアだ。

 

via 永続化対応のインメモリDB「Redis」が登場 [@IT]

**redis -Google Code

 **
http://code.google.com/p/redis/