永続化対応のオンメモリKey-Valueデータベース「Redis」
以前に読んだGoogleに関する本にも同じような技術に関する記述があった(タブレット辺りだろうか)。Googleで使われている技術はGoogleだからこそ(圧倒的台数のコンピュータ、ネットワーク、その需要など)できることだが、その論文を元に同様の技術を一般のサービスでも利用できるレベルに落とし込んでくれる人たちがいる。
サーバを起動した所
オンメモリのKey-Valueデータベースと言えばmemcachedが有名だ。だがmemcachedは再起動すればその内容が消えてしまう。逆に常にHDDに書き込めば内容は保持されるが、ディスクアクセスが多くなってしまい利点が活かせなくなる。その中間を担うのがRedisだ。
今回紹介するオープンソース・ソフトウェアはRedis、永続化にも対応したオンメモリKey-Valueデータベースシステムだ。
RedisはKey-Valueのデータベースではあるが、一定時間経過した後にその内容をHDDに書き込んでくれる。そして再起動時にはそのデータを読み込んでから起動するので、データの永続性が保たれるようになっている。
クライアントから接続した所
また、値の形式が文字列だけでなく、リストとセットに対応しているのも特徴だ。キーの取り出し方はキー名を直接指定する他、ワイルドカードを使って複数のキーをまとめて取り出すこともできる。
複数のデータベースに対応し、それらを切り替えて利用することもできる。更新や削除の結果が保証されないので、使いどころが難しいが、追加のみのキャッシュとして使えば再起動した際にもDBの負荷が高まらないで済むという利点はありそうだ。
サーバはLinuxやMac OSX向けに提供され、クライアント用ライブラリとしては現在はRubyのみが提供されている。動作が若干安定しないか、という気もするがまだベータ段階にあっては致し方ないだろう。今後の開発に期待したいソフトウェアだ。
via 永続化対応のインメモリDB「Redis」が登場 [@IT]
**redis -Google Code