RESTfulデータベースというと何のことやらといった感があるが、言わばキーと値のデータベースで、通信をHTTP経由で行うものだ。キーを指定してポストすれば新規追加され、ゲットを使ってデータを取得する。PUTで更新、DELETEで削除と言った具合だ。

Picture 638.png

Google App EngineをRESTfulなデータベースに!

 

そんなキーと値のデータベースは様々に存在する。リレーショナルデータベースと違って、単純なデータ構造だがテキストや文字列を扱うのに都合がいい場合もある。それをGoogle App Engineを使って実現するのがApp3だ。

App3はPythonで作られたオープンソース・ソフトウェアで、GPLの下に公開されている。

筆者環境ではまだうまくいっていないのだが、データはキーとともにJSON形式で保存できる。そしてGETを使ってデータを取得する。リストを使ってデータの一覧を取得することもできるようだ。

Picture 639.png

ブラウザからアクセスするとエラーが出る

 

接続時にはURLとパスワードを指定する。そして返ってくるクライアントオブジェクトを使って操作ができるようになっている。もちろんRESTfulなのでPythonによらず通信が可能だ。そのプログラムと疎結合な点が最大のメリットになるだろう。

Amazon S3もデータのストア場所として有名だが、App3を使えば扱えるオブジェクトが限定されるが同じような使い方ができる。Google App Engine内での利用というよりも、外部からの接続を想定しているのかもしれない。

Google App Engineの特性上、ストアできるファイルサイズに限度があるのでご注意を。App3を使えばRails(ActiveResource) + Google App Engine(App3)なんて意外な組み合わせも生まれてきそうだ。

 

app3 - Google Code

 http://code.google.com/p/app3/