Rasputin DB :globewithmeridians:

a distributed transactional store

RasputinDB

triumvirs: stability, performance, and composability

key types
  1. table: transactional namespaced KV backed by RocksDB
  2. log: namespaced sequential messages with configurable retention policy
  3. object: utilizes system VFS, useful for CDN type workloads

each type supports (possibly-disjoint) transactional range-based operations

client semantics
replication modes (per-collection)
  1. consensus: for use where loss of acked writes is unacceptable, and throughput is willing to be sacrificed
  2. async: for high-throughput operations which can tolerate a finite window of data loss in the event of a master failure

roadmap