Two systems, one interface
The local database knows nothing about the network; the Raft layer replicates opaque commands and knows nothing about the LSM tree.
I built a durable C++ key-value store that combines an LSM engine, key-value separation, crash recovery, and Raft consensus behind a small API.
The local database knows nothing about the network; the Raft layer replicates opaque commands and knows nothing about the LSM tree.
The engine avoids in-place data updates and treats the manifest as the durable description of every live file.
A three-node cluster acknowledges writes only after a majority has them on disk, while deterministic tests inject partitions and divergent logs without timing races.