90

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

4

2 に答える 2

62

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

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

ただし、HSQLDB は、インスタンスの起動/シャットダウン時と同様に、DDL 操作で H2 を大幅に上回り、小さなデータベースであっても (H2 はデータベースの起動ごとに javac を使用して格納された関数を新たにコンパイルするためです!)。これは、ストアド関数を保存する方法によって異なります。どうやら、それはどちらかというと jOOQ 固有の「問題」です。Thomas Mueller のコメントも参照してください。

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

于 2011-04-20T15:01:31.887 に答える
46

HyperSQLとはどちらH2 Databaseもかなり透過的であるため、特定の用途にどちらが適しているかを判断するには、テストが最適な方法かもしれません。一方他方を含む比較が利用可能です。これらは共通の遺産を共有しており、どちらもオープン ソースです。

于 2010-04-30T19:39:01.297 に答える