web-dev-qa-db-ja.com

H2とHSQLDBのどちらが良いですか?

HSQLDB 2.0はまもなくリリースされます。私の知る限り、ほとんどのユーザーはHSQLDBよりもH2を好むため、H2を上回るかどうかは疑問です。 HSQLDB 2.0のMVCCサポートに興味があります。 H2のMVCCはまだ実験的であることがわかりました。サポート/ドキュメント、同時実行性、パフォーマンスに関して、どちらが良いですか?

82
dexter

2011年にこの回答を提供したことに注意してください。古いかもしれません

私の会社は、両方のデータベースをサポートするデータベース抽象化ライブラリ( jOOQ )を開発しています。統合テストは、ストアドプロシージャや関数の呼び出し、配列、ネストされた選択など、多くの機能をカバーしています。私はHSQLDB 2.1H2 1.3 DMLに関する限り、小さなデータベース用。

ただし、HSQLDBは​​、DDL操作でH2よりもパフォーマンスが非常に優れています。また、小さなデータベースであっても、インスタンスを起動/シャットダウンするときは(H2がデータベースの起動ごとにjavacを使用してコンパイルするためです!)。これは、ストアド関数を保存する方法に依存します。どうやら、それはむしろjOOQ固有の「問題」です。ThomasMuellerのコメントも参照してください。

一方、ユーザーtrashgodには同意します。妥当なスキーマとユースケースに対してパフォーマンスをテストする必要があります。

61
Lukas Eder

HyperSQLH2 Database はかなり透過的であるため、テストは特定の用途に適したものを判断するための最良のアプローチかもしれません。 oneother を含む比較が利用可能です。これらは共通の heritage を共有し、両方とも opensource です。

45
trashgod