datacrypt-project / hitchhiker-tree

Functional, persistent, off-heap, high performance data structure
Eclipse Public License 1.0
1.19k stars 64 forks source link

Choose a KV store to use for alpha #12

Open dgrnbrg opened 8 years ago

dgrnbrg commented 8 years ago

Integrating with the KV store will be trivial, since it only needs to support put and get with hinted ordered writes. Ordered writes are if a client which writes to the same key in a sequence, any other readers will see that same sequence appear--no writes can be seen out of order (n.b. Riak and Cassandra don't do this by default). Hinting means that we don't need every write to have that ordering property--only certain ones (the metadata update operations).

Ideally, we should choose a system easy to run locally or deploy scalably in the cloud.

Here are some choices we can consider:

bendlas commented 8 years ago

Have you considered to KISS the actual storage mechanism and implementing distributation across jvm and browser:

dgrnbrg commented 8 years ago

I think that most of those KV stores are very easy to interact with. Also, currently, the code's JVM-focused (particularly the serialization & performance tuning).

I think the KV store choice will really depend on who wants to implement it--if you want to use BDB, then go for it! I'd be glad to merge that.