Kasper Nielsen wrote:
Kasper Nielsen wrote:
Hi,

I'm evaluating Derby for a project of mine. I really would like to avoid using SQL and just use Derby as a binary store. Is this possible?

My data consists of key -> value pairs where the keys are uniformly distributed 160 bit numbers and the values are byte arrays.

For now, I need to support 2 basic queries
* Give me the value mapping for the key K or null if it doesn't exist.
* Give me a map of (key->value) for the key range of key_start to key_end.

I had a look at the org.apache.derby.iap.store packages but wasn't quite sure where to start.

Cheers
 Kasper


Thanks for all the suggestions. I think I'll go ahead and create some test cases and find out whatever overhead (space/performance) is involved.

For those interested, http://en.wikipedia.org/wiki/Distributed_hash_table pretty much describes the usage. Because you a providing a general platform you want to limit the storage functionality to simple put/get (key->value) operations. Which is why I don't really need any advanced features. To build more more advanced functionally (indexing, redundancy, ...) any user must build on top of these put/get primitives.

Hi Kasper,

Just as a side note, I once implemented a simple DHT using the Chord algorithm and Berkeley DB Java Edition. But this was some time ago and before Oracle acquired BDB.

It was a fun exercise :) Please let us hear if Derby meets the performance requirements for your DHT, or if there is too much overhead.



regards,
--
Kristian


Some applications might primarily be providing storage to users. So not much work for any of the nodes except routing and storing. Which is why I'm interested in a low overhead storage mechanism without to much cruft.

- Kasper

Reply via email to