// the find
tursodatabase/turso
Turso is an in-process SQL database, compatible with SQLite.
Turso is a Rust rewrite of SQLite — not a fork, a ground-up reimplementation — with MVCC concurrent writes, native async I/O via io_uring, built-in vector support, and CDC baked in. It's SQLite-compatible at the file format and C API level, runs in-process or in the browser via WASM, and ships bindings for six languages. Still in beta; they're explicit that it hasn't hit SQLite-level reliability yet.
- BEGIN CONCURRENT with MVCC actually solves SQLite's write bottleneck without requiring you to switch to Postgres — the single writer limitation is the thing that eventually kills most SQLite deployments
- io_uring async I/O on Linux is a genuine architectural improvement over SQLite's blocking model, not a cosmetic one
- Built-in exact vector search means you can skip the separate vector DB for small-to-medium datasets — less moving parts is worth something
- They're running Deterministic Simulation Testing and Antithesis for correctness, which is how you find concurrency bugs that unit tests never catch — serious reliability engineering for a young project
- Vector indexing (ANN/approximate search) is roadmap-only — current exact search is O(n) and will fall apart above a few hundred thousand vectors, making the vector feature a toy until they ship HNSW or similar
- It's a rewrite, not a fork, which means COMPAT.md exists for a reason — SQLite compatibility is a moving target and subtle behavior differences will bite you in production before you find them in tests
- Encryption at rest, multi-process WAL coordination, and incremental computation are all marked experimental — the feature list looks complete until you read the fine print
- Being the second project from the same company after libSQL already attempted this pivot means the ecosystem is split and neither has reached escape velocity; libSQL is production-ready, Turso Database is not, and users have to pick a horse