2

PHP/MySQL ベースのクライアント/サーバー アプリケーションを、Java で記述されたスタンドアロンのデスクトップ アプリケーションに移植したいと考えています。データベースはかなり大きくなり、数十万行のテーブルがいくつかあります。特定のテーブルでは、これらのエントリが 100 万を超える可能性があると予想しています。

これを処理するのに最適な組み込みデータベースはどれですか? HSQLDB と Sqlite は明らかな選択肢のようですが、他にもあると思います。私の主な優先事項は、大量のデータに対して効率的にクエリを実行する機能 (このスレッドは、Sqlite がこれを処理できることを確認しているようです) と、MySQL から古いデータを簡単にインポートできることです (HSQLDB はそのためのちょっとした苦痛を覚えています)。 .

注: 組み込みデータベースを比較する同様の質問が以前に投稿されたことは承知しています (たとえば、ここここ) が、大規模なデータの移行を考慮すると、私の優先順位はほとんどのアプリケーションと多少異なるため、新しい質問を正当化すると考えました。

4

2 に答える 2

3

HSQLDB の最新バージョンは、ギガバイトのデータを扱う商用アプリに使用されます。HSQLDB の永続化メカニズムは徹底的にテストされており、fsync を体系的に使用することでデータ損失を回避しています。クエリの最適化が改善されました。HSQLDB SqlTool を使用すると、CSV または SQL ダンプからのデータ インポートが非常に簡単になりました。

于 2012-06-30T16:03:24.227 に答える
3

時間が経つにつれて心配は少なくなりますが、組み込みデータベースで数百万行を処理するためのメモリが不十分なユーザーがいるかどうかという心配があります。

誰もが 64 ビットのオペレーティング システムと 8 GB 以上の RAM を持っていれば、問題はありません。

十分なメモリがある限り、SQLLite または Hypersonic で処理できることに同意します。メモリが不足している状況に対して、それぞれが何をするのだろうか.

Hypersonic をサーバー モードで実行し、データをディスクに保持するオプションは確かにあります。特に SSD が普及するにつれて、これは魅力的な選択肢になるかもしれません。データベースのインストールを必要としないという利便性を維持しながら、使用可能な RAM を使い果たすことなく大規模なデータ セットを管理できます。

于 2012-06-30T15:13:35.237 に答える