4 ms·
Have you looked at LSM k-v stores (RocksDB being the obvious one)? Under the hood they are based on building immutable layers of data that are implicitly merge
by smbrian 6y ago
Have you looked at LSM k-v stores (RocksDB being the obvious one)?
Under the hood they are based on building immutable layers of data that are implicitly merged. Clones that share data are cheap (check out rocksdb-cloud for a rocksdb fork which adds this copy-on-write-esque snapshotting). When overwriting a key, the old value will get lazily garbage-collected, but there are ways around that.
I haven't explored it for this usecase, but seems like it might work...
- derefr 6y agoLSM trees are fast for writes, but not fast for reads. In fact, there’s essentially no difference in performance between an LSM tree, and a Merkle-tree whose keyspace is encoded within a B-tree.