O/Rマッパーの導入について検討しています。PerlだとDBIx::Class、Class::DBIなどがありますが、あなたは実用(業務で使用するレベル)に耐えうると思いますか?
コードは結構キレイになりそうですが、パフォーマンスや複雑なSQL表現にどこまで耐えうることができるか、まだ学習途中ということもあり不安です(;´∀`)
実際に大きめのWebアプリで使用されている例や、あなたの(裏付けのある)主観、または参考になりそうなページなどがあれば教えてください。
URLはダミーです。
アルバイトで某飲食店情報サイトのプログラム開発をしている者です。
あまり多くは書けませんが実際のところ高機能なO/Rマッパーは管理が大変でSQLをハードコーディングしている例がほとんどです。
DBICやCDBIを用いずとも通常のDBIモジュールでプリペアードステートメントを使えば良いのではないでしょうか?
こんにちは。
実用というのが指し示す用途やレベルが判らないので何ともいえませんが、intersystemsのcacheというデータベースは、SQLでもオブジェクトモデルでも同一スキーマで定義でき、両方からアクセスすることが可能で、かなり高速だと思います。
intersystems cache Perl Binding
http://www.intersystems.co.jp/support/csp/gbpl/gbpl_intro.html
O/Rマッパーではなく、DBそのものをダイレクトに叩けるのでマッピングのオーバーヘッドはありません。
#データベース自体の仕組みが全然違うのですが、Oracleより圧倒的に高速であるとintersystemsは主張しております。
#ちなみにこのデータベースのストレージの基本であるMUMPSという言語の連想配列機能を使ってオブジェクトのエミュレーションをすると、異様に高速です。
回答ありがとうございます。
例えば仕事で「はてなのクローン作って」と言われた時にDBICやCDBIを使うかという感じで考えていただければ良いかと思います。
cacheはウワサでは聞いたことあったのですが、マユツバではなく実際に速いんですね。ソースも割とキレイに書けそうですね。ありがとうございますー。
管理が大変というのは、具体的にどういった部分が大変と言うことでしょうか?