[CouchDB] Application Server == Proxy Server ?

Planet CouchDBでCouchDB 0.9.0を使った実践的な例が紹介されています。すばらしい!

詳細はリンク先を見ていただくとして、感想。

  • Django + PostgreSQL + Ngixn => CouchApp(CouchDB アプリケーションを作るためのJSライブラリ) + Ngixn って、Ngixn って聞いたことあるけどこんな風にプログラマチックにproxyをかけるのね。そりゃ、Djangoいらねぇよ。
  • っていうか、 Ngixn Configuration がアプリケーションサーバーのコードに見える。Proxy Pass / Rewrite なんて、ActiveRecord#find()に見えちゃうんだけれど。
  • Email は、external process で MapReduce結果を監視する。ちょうどGW中に似たようなモニタープロセスをRubyスクリプトで書いていた。一応、View Update Notificationを定義することもできるんだけれど、確かに、外部プロセス監視のほうが今のところいろんな面で使い勝手がよいので、このアプローチは同感。
  • HTTP Method の制限はNgixnで。return 444; やるとHTTP 403がかえる、とか。
  • ドキュメントバリデーションの詳しい説明、多謝!!throw すればよかったのかー。

Conclusionは秀逸!!

Although CouchDB is still alpha software, developing and deploying a simple Web site using CouchApp was very straightforward. The real benefits of CouchDB were not exploited at all, but we'll see some of that in a future post.

Several people have noted that Ely Service loads very quickly. This is a combination of CouchDB's raw speed and the simplicity of Ely Service's design.

だから、アプリサーバーいらねーっていう話ですよっこれは。そりゃ、DB単体でスケールして、アプリケーションが書けて、データまで保持できりゃ、もうね、3 Tier アプリとかなくなってイイですよ。CS時代に逆戻り*1!!

ちなみに、CouchDB の Japanese Translation がどうとかいう話がMLに流れていました。翻訳作業にはそれほど興味がない*2のですが、なにか協力したいなぁ。。。

*1:Windows AzureってADO.NETのおかげでこうなっていると思うんだけど、実際どうなのかすごく気になる

*2:というかオリジナルのドキュメントも実装に追いついていないことが結構あるので...