postgresql db を組み込みの Derby db に切り替えるかどうかについて、現在調査中です。どちらもデータ層に Glassfish 3 を使用します。私たちが決定するのに役立つ意見や知識を持っている人はいますか?
ありがとう!
編集: 現在、いくつかのパフォーマンス テストを自分で作成しています。経験/直接の知識に基づいて、より多くの答えを探しています
postgresql db を組み込みの Derby db に切り替えるかどうかについて、現在調査中です。どちらもデータ層に Glassfish 3 を使用します。私たちが決定するのに役立つ意見や知識を持っている人はいますか?
ありがとう!
編集: 現在、いくつかのパフォーマンス テストを自分で作成しています。経験/直接の知識に基づいて、より多くの答えを探しています
ここに回答を投稿するのが遅れていることは承知していますが、将来、本番品質のデータベースよりも Derby を使用するという間違いを誰も犯さないようにしたいと考えています。この回答がいかに否定的であるかを前もってお詫び申し上げます。短い Q&A 回答でエンジニアリング チーム全体の不快感を捉えようとしています。
多くの小規模な顧客のデプロイメントで Derby を使用した経験から、テスト環境以外で Derby がどれほど有用であるかを真剣に疑うようになりました。私たちが持っていたいくつかの問題:
LIMIT
構文なし組み込まれているという事実により、Derby は PostgreSQL よりも SQLite の競合相手と言えます。PostgreSQL は、世界最大の Web サイトのいくつかでマルチペタバイトのデータセットを格納するために使用されている、非常に成熟した製品品質のデータベースです。成長の準備ができていて、他の誰かのデータベース コードのデバッグに巻き込まれたくない場合は、Derby を使用しないことをお勧めします。私は SQLite の経験はありませんが、Derby よりもはるかに信頼性が低く、依然として人気があるとは想像できません。
実際、現在 PostgreSQL への移植を進めています。
Derbyのパフォーマンスはまだ比較的遅いですが、Javaアプリケーションがどこに行く場合でも、データベースサーバーはどこに行くにしても、完全にプラットフォームに依存しません。Javaアプリのコピー先にDBサーバーをインストールすることを考える必要はありません。
私はJavaでMySQLを使用していましたが、データベースサーバーの組み込み実装をJavaアプリ内に配置することは、驚くべき、前例のない生産性、自由、柔軟性です。
いつでもどこでもDBサーバーを含めることは、私にとってまさに天国です!!!
Postgresql と Derby を直接比較したことはありません。しかし、さまざまな状況で両方を使用した結果、Derby の信頼性は非常に高いことがわかりました。ただし、Derby の構成に注意して、アプリケーションのニーズに確実に適合するようにする必要があります。
H2 データベースの統計サイトを見るときは、H2 の結論と比較して Derby を支持するフォローアップの議論を読む価値があります。 http://groups.google.com/group/h2-database/browse_thread/thread/55a7558563248148?pli=1
ここのH2データベースサイトからのいくつかの統計: http://www.h2database.com/html/performance.html
Derby ソース・コード配布自体の一部として組み込まれているパフォーマンス・テスト・スイートが多数あります。これらは、Derby の開発者が独自の Derby のパフォーマンス テストを実施するために使用されます。したがって、パフォーマンス テストの例が必要な場合、または追加のテストが必要な場合は、それらの使用を検討できます。Derby ソース配布の java/testing/org/apache/derbyTesting/perf という名前のサブディレクトリーを調べます。