質問

今後の開発の小型(Java)の申請の管理は私の財源等で構成されていた。とっても使用する必要があり埋め込みデータベースが、今ではもうほとんど経験がないに関してこの問題です。私を見てみ 一部の製品, が、思いきりました。 H2, HSQLDB, ダービーBerkeley DB そうすると良い候補者がいまだにわからない見えないのかを比較します。本当にありがとうございま援と比較して決める。

私は使用しないで、Hibernateのための願いない場合の使用をおすすめすDBMSを提供して機能し、もっと増やしていきたいていの能力を編集するにはデータベースを使用し簡単、SQLの閲覧ツール(スキーマの変更および変化のデータ。

お願い致します。

役に立ちましたか?

解決

いずれか

  • HSQLDB -OpenOfficeで使用され、テスト済みで安定しています。使い方は簡単です。 db-dataを編集する場合は、ファイルを開いて挿入ステートメントを編集するだけです。

または

  • H2 -より高速であると言われています(元々hsqldbを設計した開発者によって、あまりにも)

必要なパフォーマンスと安定性に応じて、どちらを使用するかはユーザー次第です。

H2の開発者は、素晴らしいパフォーマンス評価を行っています:
http://www.h2database.com/html/performance.html

他のヒント

ほとんどすべての組み込みデータベースのニーズに、 Apache Derby を使用しています。 DerbyベースのSunのJava DBを使用することもできますが、Derbyの最新バージョンははるかに新しいバージョンです。商用のネイティブデータベースがサポートする多くのオプションをサポートしていますが、はるかに小さく、組み込みも簡単です。 100万件以上のレコードを含むデータベーステーブルが問題なくありました。

私は約3年前にHSQLDBとHypersonicを使用していました。当時、いくつかの主要なパフォーマンスの問題があり、それらの問題のためにそれからダービーに切り替えました。ダービーは、Apacheのインキュベーターにいたときでも安定しています。

プロジェクトの1つでJava組み込みデータベースを使用する必要があり、各データベースの長所と短所を理解するために多くの研究を行いました。人気の組み込みJavaデータベース(H2、HSQLDB、Derby、ObjectDB、Neo4j、OrientDB)の長所と短所をリストしたブログを書いたので、ご覧になれます。 H2を選択したのは、自分の要件に最適だと思ったからです。 ブログのリンク: http://sayrohan.blogspot.in/2012/12 /choosing-light-weight-java-database.html 役に立てば幸いです!

H2を使用すると、パフォーマンスはダービーよりもはるかに優れたものになります。詳細については、 http://www.h2database.com/html/performance.html をご覧ください。 。

HSQLDB は有力な候補です(OpenOfficeで使用されているという事実は、一部の人を納得させるかもしれません)。そのような小さな個人用アプリケーション、なぜ(従来のリレーショナルデータベースの代わりに)オブジェクトデータベースを使用しないのですか?

プロジェクトの1つで DB4O を使用しましたが、非常に満足しています。オブジェクト指向なので、Hibernateレイヤー全体を必要とせず、オブジェクトを直接挿入/更新/削除/クエリできます!さらに、スキーマについて心配する必要はありません。オブジェクトを直接操作し、残りはDB4Oが行います!

この新しいタイプのデータベースに慣れるには時間がかかる可能性があることに同意しますが、 DB40チュートリアルを使用して、DBを簡単に操作できることを確認してください!

編集:コメントで述べたように、DB4Oはクラスの新しいバージョンを自動的に処理します。また、アプリケーションの外部でデータベースを参照および更新するためのツールは、 http://から入手できます。 code.google.com/p/db4o-om/

Java DB (SunによるApache Derbyの配布) JDK 6に 出荷します!

私はJason Cohenのようなことをしたいと思っていましたが、これがJDKディストリビューションで最も簡単な方法のように見えると思っていました(先週のアプリの要件です)。または、私はそのように怠けているだけかもしれません。

本番環境では、HSQLDBを<!> quot; no-configuration <!> quot;として使用します。アプリケーションのオプション。実際のデータベースを設定する手間をかけずに試用することができます。

ただし、通常の使用ではサポートしていません 。理由はいくつかあります:

  1. データのサイズに比例して遅くなります。
  2. アプリの外部からアクセスするのが難しい(カスタムレポートなど)。
  3. トランザクション/ディスク同期を正しく行うのは難しいので、データを失うのは簡単です。

少なくとも(2)と(3)については、それを回避する方法がありますが、それは困難です。より簡単ですMySQLをインストールします。

neo4j

  

テーブルではなくグラフで構造化されたデータを保存する、組み込みのディスクベースの完全トランザクションJava永続エンジン。

まだ試してみる機会はありませんでしたが、とても有望に見えます。これはSQLデータベースではないことに注意してください-オブジェクトグラフは永続化されるため、既存のアプリには適切でない可能性があります。

優れた比較ツールは次の場所にあります: http://www.jpab.org/All/All/All .html

DBMS / JPAの直接比較にも注意してください

私は .NetとJavaの両方のDB4O の大ファンです。

初期のリリース以降、パフォーマンスが大幅に向上しました。ライセンスモデルも悪くありません。オブジェクトのクエリに使用できるオプションが特に気に入っています。例によるクエリは非常に強力で使い慣れています。

これらの評価に使用する基準は何ですか?まだわからない場合は、今すぐ決定する必要はありません。アプリケーションをできる限りデータベース実装に依存しないようにしてください-適切なラッパー、データアクセスオブジェクトなどを提供し、すべての事実を手に入れて決定する必要があるときにこの決定を行ってください。

リレーショナルデータベースとSQLを使用している場合、上記はそれほど難しくありません(JDBCなどを使用)。データベースを切り替えるときに、アプリケーションの機能が同じであると判断できるように、周囲のテストが十分にあることを確認してください。

先ほど同じ問題に遭遇しました。どのデータベースを使用するのかわからなかったため、最初のソリューションではDerby(またはHSQLDB?)を使用し、後でHSQLDB(またはDerby?どのソリューションが機能したか覚えていない)に切り替えることができました。 (パフォーマンスに関連する)問題があり、どのソリューションが実際に機能するか

ほとんどのことはすでに言われていますが、ペットプロジェクトのいくつかでHSQL、Derby、およびBerkely DBを使用したことを追加できます。ですから、正直に言ってもそれほど重要ではないと思います。言及する価値のあることの1つは、HSQLがSQLステートメントを含むテキストファイルとして保存されることです。開発中のテストを簡単に実行し、データをすばやくセットアップできるようにします。必要に応じて簡単に編集することもできます。変更する必要がある場合は、すべてを簡単にデータベースに転送できると思います:)

HSQLDBの原因となり問題のための大きなアプリケーションをなる安定しています。

エクスペディアのキャンセというのは、聞いたことはない体験しながし)はberkleyDB.がない限り、opensourceででおすすめの手法の利用によるライセンスが見え---こ http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html ます。

ps.berkleyDBなリレーショナルデータベースの場合だぜ。

Derbyを使用しましたが、データ型変換関数、特に日付/時刻関数が本当に嫌いです。 (数値型)<!> lt;-<!> gt; Varchar変換は苦痛です。

DBステートメントでデータ型変換の使用を計画している場合、他の埋め込みDBの使用を検討するために、学習が遅すぎます。

最新のDerbyバージョンのデータ型変換

私は個人的にHSQLDBを好みますが、それは主に最初に試したためです。

H2は高速であると言われ、より良いGUIフロントエンドを提供します(これは汎用であり、JDBCドライバーで動作します)。

少なくとも、HSQLDB、H2、およびDerbyは、アプリケーションとツールを使用して同時にDBにアクセスできるため、開発に最適なサーバーモードを提供します(通常、埋め込みモードでは許可されません)。

この投稿には少し遅れています(かなり遅れています;-))が、Java用のオープンソースのオブジェクト指向組み込みデータベースであるPerstを追加したいと思います<!> amp; .NET 。ご検討ください。 Perstは、Java用のオープンソース/デュアルライセンスの組み込みデータベースです。このディストリビューションは、GoogleのAndroidプラットフォームと互換性があり、Java ME用のPerst Liteも含まれています。 Androidベンチマークを作成し、このテーマに関するホワイトペーパーを作成しました... http://www.mcobject.com/index.cfm?fuseaction=download <!> amp; pageid = 581 <!> amp; sectionid = 133

すべてのベスト、 クリス

私が正しければ、H2はHSQLDBを書いたのと同じ人たちのものです。あなたが彼らのサイトのベンチマークを信頼するなら、それははるかに良いです。また、太陽コミュニティがダービーにあまりにも早く飛び込んだという考えもあります。

SQLブラウジングに言及していることは承知していますが、質問のその他すべてのことから、 DB4O は、優れたシンプルなオブジェクトDB です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top