About this project
Turso Database is an in-process SQL database implemented in Rust and compatible with SQLite, developed by the Turso team under the MIT license. The README describes it as a production-used engine that also works as a virtual machine: like SQLite, it compiles SQL into bytecode for a VM called the VDBE and executes that bytecode. This design allows one core engine to host multiple SQL dialects, with SQLite as the primary frontend and PostgreSQL added as an experimental frontend with its own dialect and wire protocol. The project frames its ambition as being "the LLVM of databases" — one modern core with many frontends compiled onto it.
Core capabilities described:
- SQLite compatibility at the SQL dialect, file format and C API levels, tracking SQLite version 3.50.4, with a COMPAT document tracking remaining differences. Existing SQLite database files are said to work as-is.
- BEGIN CONCURRENT for improved write throughput using multi-version concurrency control (MVCC).
- Change data capture (CDC) for tracking database changes in real time.
- Language bindings for Go, JavaScript, Java, .NET, Python, Rust, and WebAssembly, with installation via crates.io, npm, PyPI, Maven Central and Go modules.
- Asynchronous I/O on Linux through io_uring.
- Cross-platform support for Linux, macOS, Windows and browsers via WebAssembly.
- Vector support including exact search and vector manipulation.
- Improved schema management with extended ALTER support and faster schema changes.
Experimental features listed include PostgreSQL compatibility for SQL dialect and wire protocol, encryption at rest, incremental computation using DBSP for incremental view maintenance and query subscriptions, full-text search powered by the tantivy library, and multi-process WAL coordination through a .tshm sidecar. Vector indexing for approximate search is on the roadmap.
Getting started material covers a command line shell (tursodb) installed through a shell installer script, building from source with cargo, and Docker targets via make. It shows short example snippets for Rust, JavaScript, Python, Go, .NET and Java, including JDBC integration for Java.
The CLI also embeds a Model Context Protocol (MCP) server, started with the --mcp flag, that lets AI assistants interact with databases. The README documents nine tools: open_database, current_database, list_tables, describe_table, execute_query, insert_data, update_data, delete_data and schema_change. Configuration examples are provided for Claude Code, Claude Desktop and Cursor, along with direct JSON-RPC usage over stdin/stdout.
Reliability and status: the README states Turso powers production applications at several organizations and is tested with tools including a native deterministic simulation testing suite and Antithesis, while noting the project has not reached 1.0 and that some features are explicitly experimental, recommending independent backups until then. It distinguishes Turso Database from the earlier libSQL fork, describing the Rust rewrite as the intended direction while both run in production. The repository also lists academic publications and project partners, and accepts contributions under the MIT license.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.