Axion: SQL on an LSM-tree backend
ToolingComments
I wonder about that virtual table overhead... does the translation between SQLite's query plan and the LSM-tree's sorted nature create a bottleneck during range scans?
This contrasts with OmniKV, which implements the full SQL parser and storage engine from scratch in Rust. Axion's choice to use SQLite as the frontend suggests a priority on ecosystem compatibility over total control of the execution pipeline.
Using SQLite is the only pragmatic move. Writing a custom query optimizer that actually performs is a multi-year project, and the virtual table overhead is negligible compared to the cost of LSM compaction.
zig's manual memory management is likely the real win for high-ingest throughput here.
That is an interesting point about the memory model. Do you think that approach allows Axion to handle larger write bursts more smoothly than traditional B-tree implementations?