web-dev-qa-db-ja.com

h2データベースを本番環境で使用すべきでない理由はありますか?

最近、h2データベースをメインデータベースとして使用するアプリケーションを作成することを検討しています(JBossが付属しているため)が、少し心配です。私はいくつかの場所(主にディスカッション掲示板)で、本番環境でh2を使用すべきではないことを読みました。それには具体的な理由がありますか?

21
bjedrzejewski

本番環境でH2(またはHSQLDB、またはDerby)を使用しない主な理由は次のとおりです。

  • 重大なバグの可能性:「大きな」データベースOracle、IBM DB 2、MS SQL Server、MySQL、PostgreSQLと比較して、Javaデータベースは比較的新しいため、安定していない可能性があります(バグがあります) )これは、NoSQLデータベースを含むすべての新しい製品、および「big」データベースの新しいリリースに当てはまることに注意してください。一般に、製品のテストが多いほど、バグの可能性は低くなります。もちろん、使用例によって異なります。この利点のために(おそらく多額の)支払うことが理にかなっているかどうか。いずれにせよ、たとえばハードウェア障害の場合に備えて、データをバックアップする必要があります。

  • 不足している機能と最適化:「大きな」データベースには、特別なユースケース向けのより多くの機能と最適化があります。これらの機能が必要かどうかはあなた次第です。

  • 商用サポート:より大きなデータベースのサポートを取得する方が簡単です。注意してください 商用サポートはH2で利用可能です も同様です。 HSQLDBは​​商用サポートも提供します。 IBMは以前はApacheDerby(IBM Cloudscape)のサポートを提供していましたが、停止したと思います。

24
Thomas Mueller

私の個人的な経験では、H2バージョン1.2.147は非常に信頼性が高く、約60回のインストールで100%成功しているようですが、クライアントのデータベースは比較的小さく(400 MBが大きいサイズです)、プログラムは1つの接続しか使用しません(笑)。最近、私は複数の接続を使い始めましたが、multi_threadedfalseを使用しました。以前のバージョンで破損があり、新しいバージョンを試すのが怖いです。

9

私にとって、中規模プロジェクトの本番環境でH2DBを使用しない理由はありません。すべてH2DBを使用する約15のクライアントに本番システムを導入しました。インストールとバックアップは非常に簡単でしたが、データベースに関する問題はありませんでした。

3
Ossama Boughaba