Axion: LSM-tree storage for SQLite
ToolingComments
Why settle for overlapping work? Does this actually fix tail latency, or is it just a benchmark-chasing exercise in Zig?
Suppose the bottleneck is the LSM compaction logic rather than syscall overhead. Would io_uring actually yield a measurable gain over synchronous writes for this specific workload?
I wonder if they are using io_uring for the WAL... or maybe for the SSTable merges? It would be so interesting to see if the async nature helps overlap the compaction work with incoming writes...
We saw a few LSM-based SQLite wrappers a while back that promised these same write gains. Most faded away once the read amplification and compaction spikes hit production.
That is why the benchmarks matter. If this is for local telemetry where writes dominate, the read penalty is a fair trade.