tags:

views:

124

answers:

6

I think tow months ago. I found a google's open source project that can store key value pairs with high performance. But i forget the name. Could anybody tell me? or you can have some other suggestions for me? I have been using BerkerlyDB, but I found BerkerlyDb is not fast enough for my program. However, berkerylyDB is convenient to use as it appears as a java lib jar, which can be integraed with my program seamlessly. My program is also written in Java.

A: 

I think you saw Guava or Google collections.

Riduidel
Do google collections support persist data to disk? or just keep in memory?
+1  A: 

Two strong competitors in the DHT (Distributed Hash Table) 'market':

Here is a presentation about Cassandra. On slide 20 you'll see some speed benchmarks- 0.12 ms / write
(You can search around for the whole presentation, including Eric Evans talking)

Bozho
You would need to access them over the network connection right? Would that be fast enough?
Thomas Mueller
If you are using them locally, you don't need network connection. And Cassandra writes are extremely fast.
Bozho
Thanks. I wonder how fast "extremely fast" actually is for a single machine / single process use case. Do you know any numbers or benchmark results? Are Cassandra and HBase optimized for this case, are they even ment for this use case? From what I read they are both specially made to be distributed.
Thomas Mueller
@Thomas Mueller - yes, I saw some benchmarks in a presentation by Eric Evans. I will include it in the answer once I find it.
Bozho
+1  A: 

Bigtable?

dogbane
+2  A: 

Redis

http://code.google.com/p/redis/

arjan
I think project voldemort is although worth a look. Even though Redis answers the question :) http://project-voldemort.com/
Mobbit
You would need to access Redis over the network connection right? Would that be fast enough?
Thomas Mueller
+1  A: 

Maybe you should describe what features you need. If it doesn't need to be distributed (does it?) then I would try using the H2 Database. For those who think "it can't be fast because it's using SQL" please note that when using prepared statement, SQL parsing is only done once. Disclaimer: I'm the main author of H2.

Thomas Mueller
A: 

Many answer seem to automatically assume need for distribution; but that seems odd if question refers to BDB.

With that in mind, beyond Redis and H2 (which are both good), there is also Tokyo Cabinet to consider, which seems to offer benefits over BDB. And one more newer possibility is Krati.

StaxMan