KvSQL 0.2.0 started with a benchmark. The project put KvSQL beside redb, fjall and GlueSQL, with SQLite as the reference, on the same machine and the same 100,000 keys, and let the numbers decide what came next. KvSQL’s key reads held up well. Its commits and its SQL didn’t, so 0.2 fixed those two.
A commit now syncs to disk once instead of twice. It writes a record of every page it changed, and opening the file checks that record before trusting the commit. Prepared statements keep their compiled plan, and a point select by key now takes 1.86 µs, against 2.10 µs for SQLite’s own prepared statement and 16.3 µs for GlueSQL. The release post has the full comparison, including where redb, fjall and SQLite are still faster.
An independent review found that a process killed mid-commit, followed by a power cut during the next commit, could lose a commit that had already returned; opening a file now syncs it first. Files from 0.1 upgrade at their first commit. Binaries are on the latest release, open source under Apache 2.0.