A system design and cost/performance case for replacing a 300-node Redis fleet with a three-node Lavik deployment by moving values from DRAM to NVMe while keeping key indexes and metadata in memory. For agent-style workloads where retained state (profiles, sessions, feature vectors) grows far faster than request volume, separating value bytes from index memory enables dramatic consolidation: two L16as_v4 data VMs (16 vCPU, 128 GiB RAM, 3.84 TB NVMe each) plus one small E2s_v4 voter provide two dataset copies and a three-member Raft quorum. Using identical Azure SKUs, the example reduces monthly VM spend from $27,594 to $2,100.94 (92.4% savings, ~$305,917 annual) and lowers cost per TB-month from ~$10,708 to ~$547.
Technical specifics explain how that works: values are served from NVMe via SPDK user-space queue pairs and polling, while coroutine-based Bycorf workers and owner-local state let the engine overlap I/O and computation, batch commands, and avoid per-request thread stalls. Large objects use grouped storage (8 KiB segments) so small updates don’t rewrite entire records. The implementation trades CPU for low-latency I/O handling and exploits NVMe parallelism; a published benchmark reports 1.14M GETs/sec - faster than Redis on DRAM in the comparison - using 1 KiB values and pipeline depth one, demonstrating that SSD-backed storage can meet sub-millisecond, Redis-compatible workloads.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.