2009-06-17 12 views
1

Ich benutze und liebe Berkeley, aber es scheint zu bombardieren, sobald Sie in der Nähe von einer Million oder so Einträge, vor allem auf den Inserts bekommen. Ich habe memcachedb versucht, das funktioniert, aber es wird nicht beibehalten, also mache ich mir Sorgen, es in der Produktion zu verwenden. Hat jemand andere ähnliche Lösungen, im Grunde möchte ich in der Lage sein, Schlüssel-Lookups auf einem großen (möglicherweise verteilten) Datensatz (40+ Millionen) zu tun.Schnelle, skalierbare Hash-Lookup-Datenbank? (Berkeley'ish)

Hinweis: Alles, was NICHT in Java ist, ist ein Bonus. :-) Es scheint, dass die meisten Dinge heute auf der Java-Route laufen.

+0

Das letzte Commit auf Memcachedb war 14. April 09. Das ist wirklich nicht zu lange her für stabile Open-Source-Projekt: http://code.google.com/p/memcachedb/source/list – ConsultUtah

Antwort

1

Haben Sie versucht Project Voldemort?

+0

Sieht aus wie ein Interesse-Projekt. – RichardOD

+0

Hmm, habe noch nie davon gehört. Irgendeine Idee, was sie für den Datenteil verwenden? Es gibt nicht viele Informationen darüber, daher ist es schwierig, andere Lösungen zu finden. –

+1

Von der Konfigurationsseite: persistence- Das Persistenz-Backend, das vom Geschäft verwendet wird. Momentan könnte dies einer von bdb, mysql, memory, readonly und cache sein. Der Unterschied zwischen Cache und Speicher liegt darin, dass der Speicher eine OutOfMemory-Ausnahme auslöst, wenn er größer als der JVM-Heap wird, während der Cache Daten verwirft. – ConsultUtah

0

Haben Sie das Hash-Backend versucht? Das sollte für die Suche nach Einfüge- und Schlüsseln schneller sein.

+0

Was meinen Sie mit einem Hash-Backend? Irgendetwas im Einzelnen? – gonephishing

1

Ich würde Sie hatte einen Blick vorschlagen bei:

Metabrew key-value store blog post

Es gibt eine große Liste von Schlüssel-Wert-Shops mit ein wenig Diskussion in jedem von ihnen. Wenn Sie noch Zweifel haben, können Sie sich der so genannten Nosql Google-Gruppe anschließen und dort um Hilfe bitten.

1

Redis ist wahnsinnig schnell und aktiv entwickelt. Es ist in C geschrieben (kein Java). Kompiliert out of the box auf POSIX OS (keine Abhängigkeiten).