2 Stimmen

Problem mit Hash Map Speicher und Leistung

Ich muss mehr als 100 Millionen Schlüssel-Werte in meiner HashMultiMap speichern (ein Schlüssel kann mehrere Werte haben). Kann mir jemand helfen, welcher schneller ist, sowohl beim Speichern als auch beim Suchen:

1) Berkeley DB

2) Tokyo Cabinet

3) H2

4) EhCache

5) Oder andere

Ein weiterer Punkt ist, ob die Leistung dieser etwa identisch mit einer In-Memory-HashMap ist? Ein wenig Anleitung wäre hilfreicher. Vielen Dank.

NB: Informationen zu einem dieser Produkte sind ebenfalls hilfreich.

3voto

Jeff Foster Punkte 41930

Ich würde Redis empfehlen. Es handelt sich eher um einen Datenspeicher als die anderen (z. B. unterstützt er Maps und Sets) und erfordert sehr wenig Aufwand, um loszulegen. Es ist unglaublich einfach zu bedienen und hat eine großartige Java API.

Ich würde damit beginnen, die Funktionen hier anzusehen, die es Ihnen ermöglichen, einen Schlüssel mit einer Gruppe von Werten zu verknüpfen.

2voto

Thomas Mueller Punkte 46988

Ich würde einen Blick auf leveldb werfen, da es behauptet, schneller als Kyoto Cabinet zu sein. Andere interessante Bibliotheken sind Kyoto Cabinet und JDBM3.

Dies sind Low-Level-Bibliotheken (ohne Unterstützung für relationale Abfragen oder SQL). Einige bieten transaktionale Unterstützung, aber ich bin mir nicht sicher, ob Sie diese benötigen. Dennoch sind Hash-Maps im Speicher schneller.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X