2011-09-14 15 views
2

私は新しいオープンソースアプリケーションのための最良のデータベースソフトウェアを探しています。主な基準は、何万ものエントリを検索するためには高速でなければならないということです。理想的には完全にJavaベースのものですが、Java APIを使用するだけでOKです。私はGPLの下でライセンス供与しようとしているので、プロジェクトはそれと互換性がなければなりません。今のところSQLiteは最もユビキタスなソリューションだと思われますが、もっと良いものになる可能性がある場合は、他のものを見落としたくありません。Java用の最も高速で自由に再配布可能なデータベース

一般的なインターネットを検索すると、ほとんどの結果はオブジェクトデータベースのようです。データベースがオブジェクトベースであるかリレーショナルであるかは気にしません。「NoSQL」の場合は気になります。 MySQLに関する多くの経験がありますが、そうした方が速い場合は、新しいクエリ言語やインタフェースを勉強することを恐れることはあまりありません。これが管理する主要な種類のデータは、少なくとも20個のメタデータフィールドが添付されたファイル名です。私は同じフィールドを持つ複数のデータセットを持ちたいと思うし、データベースにいくつかのアプリケーションの設定を保存することもいいだろう。

タイトルに「埋め込まれた」という私の(以前の)使用に関する混乱があるかもしれないという回答があります。私は、「アプリケーションに埋め込まれて再配布された」という意味で、「組み込み機器で使用されている」という意味ではないことを明確にしたいと思います。アプリケーションは現在フルスケールのコンピュータをターゲットにしていますが、「理想的には完全にJavaベースになる」理由の1つは、Androidバージョンを作成する夢のような願望です。

答えて

2

http://www.db4o.com/ が最速の組み込みDBの一つであることをclains benchmarkがあるhttp://www.polepos.org/を見てみましょう。

私は個人的にdb4oのと協力し、その非常に素晴らしく、しかし、彼らはそれをテストしたプラットフォーム上で自分の情報のみ適用、それはおそらく

+0

ニーズに合わせなければならないので、そのGPLの下でライセンス。それは異なるプラットフォームとその使用方法によって異なる可能性があります。これらのテストは3000レコードに上り、OPは数万レコードで高速になると言います。さらに、SQLiteはいくつかのテストでdb4oを打ち負かしています。そのため、OPが自分のニーズに最も適しているかどうかを判断するために、自分のテストを行うことがベストです。 –

+0

したがって、例の結果を正しく読んでいれば、SQLiteは一般的に最も速く、db4oはオブジェクト指向のデータでは最も速く、フラットデータではHSQLDBが最速です。それは正しいのでしょうか?誰かがこれを確認するか否定する経験はありますか? – meustrus

3

最終的には実際にはアプリケーションによって異なります。 SQLiteは、OracleやMySQLなどの標準クライアント\サーバーデータベースほど堅牢ではありません。 SQLiteのFAQから、

しかし、クライアント/サーバデータベースエンジン(PostgreSQL、MySQL、またはOracleなど)は、通常、より高いレベルの並行性をサポートし、複数のプロセスを書くことができるようにします同時に同じデータベースに移動します。これは、クライアント/サーバーデータベースでは可能です。アクセスを調整するために常に適切に管理された単一のサーバープロセスが存在するためです。アプリケーションで並行性が必要な場合は、クライアント/サーバー・データベースの使用を検討する必要があります。しかし、経験によると、ほとんどのアプリケーションでは、デザイナーが想像するよりもはるかに少ない並行性が必要です。

これはSQLiteと言われていますが、これは非常に高速ですが、これはどのように使用するのか、どのプラットフォームで行うのかによって異なります。組み込みデバイスで実行している場合、通常のデスクトップ\サーバーで実行している場合と比べてパフォーマンスが大幅に異なる場合があります。これは、正確な答えを出すのが難しい理由です。 SQliteは、ではなく、が標準のクライアント\サーバーモデルに準拠していることから、大幅なパフォーマンス向上が見られます。

SQLite、PostgreSQL、MySQLのようないくつかを選んで、あなたがアプリケーションで遭遇する一般的なシナリオをシミュレートするいくつかのテストを実行することで、それぞれのパフォーマンスの影響を確認することをお勧めします。

関連する問題