Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Djangoはenterpriseに向かない

まあね、わざわざDjangoはEnterPriseに向かないなんて書く必要あるのかどうかって話もあるんだけどさー。
http://wataru.justblog.jp/blog/2007/03/ll.html
でちょっと書かれてるのでなんかそーいう認識だと死ぬよなあって話。
使わなくて正だと思う。
私自身もDjangoは仕事では使ってない。
Djangoは用途特化型フレームワークとい認識だから。

私自身が使わない理由についてちょっと書いてみる。

クエリー

多分これが一番でかいかも。
そのままO/Rを使う気になれない。
オーバヘッドがでかくなるから。
なんだかんだでカスタムSQLを発行する方が絶対いい。
マスタメンテに近い画面ぐらいしか使うところがないと言っていいだろう。

排他、ロック

ARには"FOR UPDATE"を発行できる機能があったのか!!!
この辺も理由としてでかいかな。
多分Java屋さんの発想的には
「楽観ロックみたいな(更新時間などでチェックする)機能もねーのか!XXXX」 
となるだろう。
特にS2Daoを使ってる人にはめんどくさいと思われても仕方がない。
だがしかし!
上のに合わせてそれに近い機能を自前で実装するのは簡単。
その辺はpythonって楽だな!って実感できるかも。

複雑な入力

Djangoはそのままだとハッキリいって複雑な入力に耐えれない。
Grid系みたいなのは結構めんどいかも。
マニュピレーター周りをごにょるとめんどくなってきて自前実装になる。
この辺は仕方ない部分もある。どんなフレームワークでも悩ましい所ではないかなあ。

分散トランザクションについて

分散トランザクションをどうこうす考えた事なかったんだけど。
まあそーいうレベルだとハッキリ言ってJava
もしくは最近話題のトランザクションレスな設計にするか。
この辺に関してはLLは全体的に弱い気がする。
そもそもDjangoは0.9ぐらいまでトランザクションがなかったぐらいだ。
(得化してるからね)

こう書いてるといつ出番がくるのさ?って話になってくるんだけど
やっぱメディア配信系だろうね。まあCMSみたいな感じなものとか。
それ以外だと見送りかな。
とりあえずどんなフレームワークでも精通した人がいない場合は死ぬ覚悟で使用して下さいって所は変わらないね。

うくく。