Twitterに似たWebサービスを提供するPlurk.com。時間軸を持つことで、よりインタラクティブな印象与えるサービスだ。世界的に展開しているのでアクセス数も相当多い。そのような中で活躍するのがキャッシュサーバだ。

ピクチャ 10.png

実践で使われている信頼性高いキー/バリューデータベース

 

Plurk.comでは3つのデータベースが使われている。一つはMySQLもう一つはmemcached。そして最後にLightCloudだ。

今回紹介するオープンソース・ソフトウェアはLightCloud、Tokyo Cabinetをベースにしたキー/バリューデータベースだ。

LightCloudはmixiなどでもお馴染みのTokyo Cabinetを利用して構築されている。ライブラリはPythonのみではあるが、他の言語へのリプレースもそれほど難しくなさそうとのことだ。実際にPlurk.comで使われているという点が、お勧めできる点だ。

ピクチャ 9.png

マネージャ

 

特徴は高速性にある。読み込みでmemcachedの2倍程度、書き込みで5倍程度の遅さに収まっている。memcachedがオンメモリなのを考えると十分速い。LightCloudはファイルに書き出されるので、データが消えないという大きな利点がある。

利用は簡単で、ライブラリを読み込んだらsetとgetで値の読み書きを行うだけだ。文字列の他、リストやカウンター(書き込むたびに値がインクリメントされる)がある。クライアントだけではなく、複数のノードおよびマスター/スレーブを管理するマネージャも提供されている。

ブログのエントリーやマイクロブログのつぶやきなど、MySQLに収めるにはオーバースペックなデータはシンプルなキー/バリューデータベースの方が収まりよく、さらに高速に扱えて便利だ。さらにLightCloudを使えば扱いやすくなりそうだ。

 

Plurk Open Source - LightCloud - Distributed and persistent key value database

 http://opensource.plurk.com/LightCloud/