Проблема с пространством и производительностью хэш-карты - PullRequest
2 голосов
/ 30 марта 2012

Я должен хранить более 100 миллионов значений ключа в моем HashMultiMap (ключ может иметь несколько значений).Кто-нибудь может мне помочь, какой из них быстрее для хранения и поиска:

1) Berkeley DB

2) Tokyo Cabinet

3) H2

4) EhCache

5) Или любые другие

Еще один момент, это производительность примерноидентичны хэш-карте в памяти?Немного руководства будет более полезным.Благодарю.

Примечание: информация о любом из них также полезна.

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

Я бы порекомендовал Redis . Это больше хранилище структуры данных, чем другие (например, он поддерживает карты и наборы) и требует очень мало усилий для начала работы. Это невероятно прост в использовании и имеет отличный Java API .

Я бы начал с рассмотрения функций здесь , которые позволяют связать ключ с группой значений.

2 голосов
/ 30 марта 2012

Я бы посмотрел на leveldb , потому что он утверждает, что он быстрее, чем кабинет Киото .Другие интересные библиотеки: Kyoto Cabinet и JDBM3 .

Это низкоуровневые библиотеки (без поддержки реляционных запросов или SQL).Некоторые предлагают поддержку транзакций, но я не уверен, что вам это нужно.Тем не менее, хэш-карты в памяти работают быстрее.

...