tursodatabase / turso
git clone https://github.com/tursodatabase/turso.git
v0.8.3 · 11d ago
A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of databases.
+30
stars, 24h · #1,265
+~196
stars, 7 days · #1,148
+~840
stars, 30 days · #999
25k
★ total · +1% this week
1.5k
forks · 1.5k open issues
Star history (as recorded here)
LanguageRust
LicenseMIT
Created2023-08-26 (3y ago)
Last pushtoday
Watchers101
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #7 daily in rust · +49 ★
GitHub topics
Links
README excerpt
Turso Database An in-process SQL database, compatible with SQLite, and now with a Postgres frontend too. --- ## About Turso is an in-process SQL database written in Rust, compatible with SQLite. It runs in production today at multiple organizations. Turso is also a virtual machine. Like SQLite, it compiles SQL into bytecode for that machine, the VDBE, and then runs the bytecode. That design is what lets one engine host more than one SQL dialect. SQLite is the first and primary frontend that compiles to it, and Postgres is now a frontend of its own, with its own dialect and wire protocol. More will follow. Our goal is to be for databases what LLVM is to compilers, with one modern and reliable core, and many frontends compiled down onto it. How general is that core? General enough to run Doom on it. See the FAQ for where the project stands on its way to 1.0. ## Features and Roadmap * **SQLite compatibility** for SQL dialect, file formats, and the C API, tracking SQLite version 3.50.4 see [document for details] * **`BEGIN CONCURRENT`** for improved write throughput using multi-version concurrency control (MVCC). * **Change data capture (CDC)** for real-time tracking of database changes. * **Multi-language support** for * Go * JavaScript * Java * .NET * Python * Rust * WebAssembly * **Asynchronous I/O** support on Linux with `io_uring` * **Cross-platform** support for Linux, macOS, Windows and browsers (through WebAssembly) * **Vector support** support including exact search and vector manipulation * **Improved schema management** including extended `ALTER` support and faster schema changes. The database has the following experimental features: * **Postgres compatibility** for SQL dialect and wire protocol, see the see compatibility reference for details. * **Encryption at rest** for protecting the data locally. * **Incremental computation** using DBSP for incremental view maintenance and query subscriptions. * **Full-Text-Search** powered by the awesome tantivy library * **Multi-process WAL coordination** via the `.tshm` sidecar for cross-process WAL readers and writers. The following features are on our current roadmap: * **Vector indexing** for fast approximate vector search, similar to libSQL vector search. ## Getting Started Please see the Turso Database Manual for more information. 💻 Command Line You can install the latest `turso` release with: [code] Then launch the interactive shell: [code] This will start the Turso interactive shell where you can execute SQL statements: [code] You can also build and run the latest development version with: [code] If you like docker, we got you covered. Simply run this in the root folder: [code] 🦀 Rust [code] Example usage: [code] ✨ JavaScript [code] Example usage: [code] 🐍 Python [code] Example usage: [code] 🦫 Go [code] Example usage: [code] ️#️⃣ .NET Example usage: [code] ☕️ Java We integrated Turso Database into JDBC. For detailed instructions on how to us