Open dgrnbrg opened 8 years ago
Have you considered to KISS the actual storage mechanism and implementing distributation across jvm and browser:
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.
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: