Turso
In-process SQL database written in Rust, compatible with SQLite and now carrying a Postgres frontend, for embedded workloads.

Written in Rust and compatible with SQLite, Turso is an in-process SQL database already running in production at several organizations. It keeps the embedded model, a library inside your application rather than a server you connect to, while rebuilding the engine underneath it.
That engine is a virtual machine. Like SQLite, Turso compiles SQL into bytecode for the VDBE and then runs the bytecode, and that separation lets one core host more than one dialect. SQLite is the first and primary frontend; Postgres is now a frontend of its own with its own dialect and wire protocol. The stated goal is to be for databases what LLVM is for compilers.
What sits on top of SQLite compatibility is where the project spends its effort.
- BEGIN CONCURRENT: multi version concurrency control raises write throughput past the single writer model.
- Change data capture: database changes can be tracked as they happen.
- Asynchronous I/O: io_uring is used on Linux for the storage path.
- Language bindings: Go, JavaScript, Java, .NET, Python, Rust and WebAssembly all bind to the same core.
- Vector support: exact search and vector manipulation are in today, with vector indexing for approximate search on the roadmap.
Compatibility tracks SQLite 3.50.4 across dialect, file format and the C API, and the database runs on Linux, macOS, Windows and in browsers through WebAssembly. Encryption at rest, full text search, incremental view maintenance and the Postgres frontend are marked experimental, and the project is still working toward 1.0, so read the compatibility notes before migrating anything.
Stars
24,201Forks
1,316Last commit
4 days agoRepository age
3 yearsLicense
MITVersion
0.7.2Repository
tursodatabase/turso
Auto-fetched from GitHub .
Open source alternatives similar to Turso:
Stars
Forks
Last commit
Stars
Forks
Last commit
Stars
Forks
Last commit