2012-02-14 11 views
8

Javaコレクションを使用するか、メモリ内の一部のデータベース(H2またはHSQLDB - おそらく最も高速です)を使用するかどうかはわかりません。私は良いパフォーマンス結果が必要です - 何百ものオブジェクト/行があり、JOINや複雑なクエリは実行されません。Javaコレクションとメモリ内データベースのパフォーマンス

私は本当にためにJavaヒープの限られたサイズの、インメモリDB検討しています - 私が働いているオブジェクトが非常に大きくすることができ、また、それらの多くがあるでしょう(何百、私が述べたように)

大量のデータに対してインメモリデータベースを使用することをお勧めしますか?

+2

近代的な言い方をすれば、何百ものオブジェクトはあまりありません。オブジェクトが大きくなると言うと、どれくらいの大きさですか? – Sheriff

+3

各オブジェクトが100のフィールドを持っていても、何百ものオブジェクトがわかりにくいです。さらに、メモリはどこかから来なければならず、DBはおそらくいくつかのオーバーヘッドを追加します。 – delnan

+0

さて、残念なことかもしれません...単純に - 本当にたくさんのオブジェクトが存在する可能性があります。 – Igor

答えて

3

何百もの10 KBオブジェクトは、わずか数MBです。私の提案はシンプルにしておいてください。数十万個の1 KBオブジェクトは、まだ32ビットJVMに簡単に収まるでしょう。

GBのデータを取得するまで、メモリ内のデータベースは使用しません。数百GBの場合、唯一の選択肢は何らかの種類のデータベースを使用することです。

免責事項:私はメモリデータベースを使用し、1つまたは2つ書いたこともあります。

3

コレクションを使用してください。あなたが問題を認識すると、あなたはまだ揺れることができます。実装が抽象化されているため、アルゴリズムでどちらか一方が期待されないようにする必要があります。 (さらに別の「早期最適化は悪い」暴言)

2

他の人が言っているように、「数百」は本当にたくさんありません。ヒープサイズが問題の場合はIncrease the JVM Heap Size

関連する問題