Webアプリケーションと言えばデータベースが大抵使われるが、本当にRDBMSである必要があるのだろうか。そもそも構造的に管理する必要がなかったり、非効率的になってしまうこともある。そのような場合に考えたいのがキー/バリュー型のDB導入だ。

ピクチャ 1.png

ベンチマーク

 

データを細かく管理するよりもオブジェクトごとキー/バリューデータベースに放り込んでしまうという方法がとれる。ここ数年で幾つかのソフトウェアが登場したが、それらを統合して利用できるようにするのがMonetaだ。

今回紹介するオープンソース・ソフトウェアはMoneta、各種キー/バリュー型DBの共通インタフェースだ。

Monetaが対応しているのはファイル、Memcached、メモリ、DataMapper、Amazon S3、Berkeley DB、Redis、SDBM、Tokyo CabinetそしてCouchDBとなっている。各DBごとにライブラリが必要だが、共通のインタフェースでラッピングしているのがMonetaだ。

各DBごとに細かな操作はあると思うが、Monetaができるのはキーと値の保存、更新、削除といった基本的な操作とキーの存在確認のみになる。基本的な操作はできるので、後は必要に応じてライブラリを入れ替えればその時々によって便利に使えるだろう。

RDBMSもSQLの方言によって操作が異なるため、O/Rマッパーなどによってラッピングされてきた。キー/バリューDBもまた、Monetaを使えば共通インタフェースで操作できるようになるので便利に使えるようになりそうだ。

 

**wycats’s moneta at master - GitHub

 **
http://github.com/wycats/moneta/tree/master