2012-03-30 12 views
2

私はHashMultiMap(キーは複数の値を持つことができます)に100万を超えるキー値を格納する必要があります。誰もが速く保存と検索の両方のためである1私を助けることができる:ハッシュマップスペースとパフォーマンスの問題

1)Berkeley DB

2)Tokyo Cabinet

3)H2

4)EhCache

5)またはanyothers

もう1つのポイントは、約iのパフォーマンスですメモリ内のハッシュマップには歯医者?ちょっとしたガイダンスが役立ちます。ありがとう。

NB:これらのいずれかに関する情報も役立ちます。

+0

あなたのキー/値はどれくらいのサイズですか?彼らはどのような構造を持っていますか? –

+0

@JeffFoster、キー/値はintです。 – Arpssss

+0

@JeffFoster、もっと具体的にはhttp://stackoverflow.com/questions/9930347/multimapspace-issue-guava – Arpssss

答えて

3

Redisをお勧めします。他のものよりも多くのデータ構造ストア(例えば、マップやセットをサポートしています)で始めるにはほとんど手間がかかりません。それは信じられないほど の使いやすいとJava APIを持っています。

まず、キーを値のグループに関連付けることを可能にする関数hereを見てみましょう。

+0

ありがとうございました。あなたの経験から、Redisのパフォーマンスはメモリ内のハッシュマップとほぼ同じですか? – Arpssss

+0

あなたの状況によって異なります。私はRedisのパフォーマンスに関して決して問題はありませんでした。最良のアドバイスは、プロトタイプをハックして何が起こるかを見ることです。 http://redis.io/topics/benchmarksも参照してください。 –

2

faster than Kyoto Cabinetと主張しているので、私はleveldbを見るでしょう。他の興味深いライブラリはKyoto CabinetJDBM3です。

これらは、低レベルのライブラリです(リレーショナルクエリやSQLのサポートなし)。トランザクションサポートを提供するものもありますが、必要な場合はわかりません。それでも、メモリ内のハッシュマップは高速です。

関連する問題