データベース機能をフル活用しないことが長所
Rails開発者のインタビュー記事
- http://japan.cnet.com/news/ent/story/0,2000047623,20089986,00.htm
- http://japan.cnet.com/news/ent/story/0,2000047623,20089986-2,00.htm
注目はここ
もっともHanssonは、ストアドプロシージャなどのプログラムをはじめとする、データベース機能をサポートしなかった点にこそRubyの価値があり、主流に逆うことで革新性を実現できると考えている。
railsのActiveRecordsでは、テーブルメタデータを利用して、命名規則や特定のカラム(idなど)を束縛し、それに合わせてテーブル設計をすることで記述量を減らしている。つまり、オブジェクト定義という場面で、いわゆるデフォルト値のアプローチを採用しているのである。また、テーブル間の連携のような制約については、DBMSに依存させずにruby側で記述することで、sqliteを含むさまざまなRDBMSでも利用可能になっている。join?なにそれ。このへんは、既存のO/Rマッピングのアプローチとは一線を画している。
railsは確かに処理負荷が高いかもしれないが、表示系のCGIで遅ければ、リバースプロキシ+キャッシュをかますのが一番単純だと思う。設計を犠牲にするようなコードチューニングは最終手段だ。