KvSQL is the studio’s twenty-seventh project, and its first database in Rust. It keeps one copy of the data for two kinds of access. A row read by its key comes straight from the storage tree, with nothing parsed or planned. SQL about the same rows goes through the parser and reads the same bytes. One transaction covers both, and secondary indexes stay right whichever door wrote the row. Why that matters: programs that run a key-value store beside SQLite keep two copies in step and can’t commit across them.
Version 0.1.0 ships two products. KvSQL Engine is the library, with no dependencies beyond the Rust standard library. KvSQL DB is kvsqld, which serves a file over HTTP and JSON and answers a write only once it is on disk, plus the kvsql shell. The benchmark against SQLite shows both sides from one recorded run on a 2-vCPU container. A row by key took 1.56 µs against 2.66 µs for SQLite’s prepared select. SQLite commits about twice as fast, because a KvSQL commit syncs twice.
The testing aims at the commit promise. One recorded run took 20,000 simulated power cuts, 200 killed writer processes and 100 killed servers under load, with no acknowledged commit lost. It also checked 30,000 random SQL statements against SQLite, and every answer matched. An independent review before release found eight bugs, all fixed first. Three case studies, sessions, an edge gateway and a checkout tested with 1,200 power cuts, run as programs in the repository. KvSQL sits next to XKV and RollupDB among the studio’s data stores.
Open source under Apache 2.0, with releases for Linux, macOS and Windows.