Status: Accepted (2026-07-15)
The index layer could sit on an embedded KV store (RocksDB/redb/LMDB) with datoms as sorted keys, or replicate Datomic's actual design: covering indexes as persistent trees of immutable, content-addressed segments in a dumb blob store. The peer model (ADR-0001) requires index data to be remotely readable and cacheable without invalidation; embedded KV stores are neither.
Build the segment design: prefix-compressed, zstd-block-compressed leaf segments of encoded datoms; inner segments of separator keys; BLAKE3 content addressing; structural sharing across index roots; a CAS'd root record as the only mutable state. No embedded KV dependency in the core.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |