今日、興味深いライブラリActiveJDBCを見つけました。RoR のような ActiveRecord インターフェースを提供します。私は Hibernate の置き換えを考えていますが、疑問があります。ActiveJDBC は本当に大きなクエリと結果を処理できますか? また、アプリケーションで Hibernate の代わりにそれを使用するのは賢いですか?
1 に答える
私は ActiveJDBC の開発者なので、私のアドバイスは大目に見てください :)。大規模なパフォーマンス比較テストは実行していませんが、単純なテスト (数万件のレコードの保存と読み取り) では、ActiveJDBC は JDBC の約 2 倍遅く、Hibernate は ActiveJDBC の約 2 倍遅いことがわかりました。つまり、Hibernate は約 4 倍遅くなります。プレーンな JDBC よりも。全体として、ActiveJDBC は Hibernate よりもはるかに薄く、それが開発のアイデアでした。このブログを参照してください。ActiveJDBC と Hibernate の比較。
Hibernate は 90 年代にクライアント/サーバー モデル (セッション、遅延読み込み、オブジェクト グラフなど) を念頭に置いてアーキテクチャ的に構築されましたが、ActiveJDBC は主に最新の Web アプリケーションの要求/応答のために 2009 年に構築され、パススルー モデルを使用します。ロジック、データ、およびデータベースの最適化に応じて、マイレージは異なりますが、ActiveJDBC はほぼ確実に高速になると確信しています。Mubin は、移行が必要になるという事実を指摘しました。これは部分的に正しいと言えます。移行システムは常に良い考えですが、テーブルが存在する限り、ActiveJDBC はテーブルがどのように作成されたかを気にしません。
乾杯