少し前までデータベースと言えばRDBMSのことだったが、最近では徐々に変わり始めている。顕著なのがスキーマレスのデータベースの存在だ。さらにCouchDBというクライアントサイドでも使える分散型データベースも登場している。

ピクチャ 26.png

シンプルなWiki

 

スキーマレスというのは扱い勝手が悪いように感じられることもあるが、その利用ケースによってはぴたりと当てはまってくる。StrokeDBもその一つだ。

今回紹介するオープンソース・ソフトウェアはStrokeDB、Ruby製の分散型ドキュメントデータベースだ。

StrokeDBはCouchDBと似ているが、幾つかの特徴を備えている。まず分散型であることにおいてスケーリングが容易になる。ドキュメントのフォーマットはJSONを利用している。そのこともあってクライアントサイドの言語(JavaScriptやActionScript)との親和性も高い。

ピクチャ 27.png

サンプルのスクリプト

 

リビジョン管理システムを備えている点も見逃せない。ドキュメント管理とあって、その差分情報を管理したリビジョン管理は様々な場面で役立つはずだ。そして検索にも対応したAPIが用意されている。

クライアントサイドでも動作するので、Gearsのようなオフライン時のWebアプリケーション利用にも向いていそうだ。一般的なRDBMSでは面倒なデータ管理もStrokeDBであればシンプルに管理できそうだ。

 

francois’s strokedb at master - GitHub

 http://github.com/francois/strokedb/tree/master