Back to Devoured - June 22, 2026
DEVOURED
Turso (GitHub Repo)

Turso (GitHub Repo)

DevOps GitHub
Turso has launched a Rust-based, SQLite-compatible database in beta featuring native async support and experimental vector search.
What: Turso is a rewrite of SQLite in Rust that supports multi-process WAL coordination and includes a built-in MCP server for direct AI agent database interaction.
Why it matters: Rewriting core database engines in memory-safe languages like Rust is a growing trend, aiming to modernize legacy C-based database formats while adding developer-friendly features like AI integrations.
Takeaway: You can add the Turso MCP server to your Claude Desktop or Cursor configuration to query local SQLite databases using natural language.
Deep dive
  • SQLite Compatibility: Supports the C API, file format, and SQL dialect of SQLite.
  • Modern Features: Includes native async I/O, vector search, and encryption at rest.
  • AI Native: Ships with an embedded MCP server, allowing direct query/schema interaction via agents like Claude Code.
  • Performance: Provides MVCC (Multi-Version Concurrency Control) through 'BEGIN CONCURRENT' to improve write throughput.
  • Beta Status: Explicitly warns that while it powers some production apps (e.g., Kin AI), it is not yet at parity with SQLite-level reliability.
Decoder
  • WAL (Write-Ahead Logging): A technique to record changes before applying them to the main database file, enhancing crash recovery and concurrency.
  • MVCC: A database concurrency control method that allows multiple versions of data to exist, enabling simultaneous reads and writes without locking.
  • MCP Server: A standardized interface that allows AI models to perform tool-based actions on external systems.
Original article

Turso Database

An in-process SQL database, compatible with SQLite.

About

Turso Database is an in-process SQL database written in Rust, compatible with SQLite.

Warning: This software is in BETA. It may still contain bugs and unexpected behavior. Use caution with production data and ensure you have backups.

Features and Roadmap

  • SQLite compatibility for SQL dialect, file formats, and the C API
  • 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:

  • 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:

Getting Started

Please see the Turso Database Manual for more information.

Command Line

You can install the latest turso release with:

curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

Then launch the interactive shell:

$ tursodb

This will start the Turso interactive shell where you can execute SQL statements:

Turso
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
turso> CREATE TABLE users (id INT, username TEXT);
turso> INSERT INTO users VALUES (1, 'alice');
turso> INSERT INTO users VALUES (2, 'bob');
turso> SELECT * FROM users;
1|alice
2|bob

Rust

cargo add turso

JavaScript

npm i @tursodatabase/database

Python

uv pip install pyturso

Go

go get turso.tech/database/tursogo
go install turso.tech/database/tursogo

.NET

Example usage:

using Turso;

using var connection = new TursoConnection("Data Source=:memory:");
connection.Open();

connection.ExecuteNonQuery("CREATE TABLE t(a, b)");
var rowsAffected = connection.ExecuteNonQuery("INSERT INTO t(a, b) VALUES (1, 2), (3, 4)");
Console.WriteLine($"RowsAffected: {rowsAffected}");

using var command = connection.CreateCommand();
command.CommandText = "SELECT * FROM t";
using var reader = command.ExecuteReader();
while (reader.Read())
{
    var a = reader.GetInt32(0);
    var b = reader.GetInt32(1);
    Console.WriteLine($"Value1: {a}, Value2: {b}");
}

Java

We integrated Turso Database into JDBC. For detailed instructions on how to use Turso Database with java, please refer to the README.md under bindings/java.

MCP Server Mode

The Turso CLI includes a built-in Model Context Protocol (MCP) server that allows AI assistants to interact with your databases.

FAQ

Is Turso Database ready for production use?

Turso powers production apps today. That includes Turso Cloud, the Kin AI assistant, and Spice.ai. However, it is still under active development and for mission-critical applications, caution is advised.

How is Turso Database different from Turso's libSQL?

Turso Database is a project to build the next evolution of SQLite in Rust. Rewriting SQLite in Rust started as an unassuming experiment, and due to its incredible success, replaces libSQL as our intended direction.

Publications

  • Pekka Enberg, Sasu Tarkoma, Jon Crowcroft Ashwin Rao (2024). Serverless Runtime / Database Co-Design With Asynchronous I/O. In EdgeSys ‘24.
  • Pekka Enberg, Sasu Tarkoma, and Ashwin Rao (2023). Towards Database and Serverless Runtime Co-Design. In CoNEXT-SW ’23.
  • Alperen Keles, Ethan Chou, Harrison Goldstein, Leonidas Lampropoulos (2026). DIRT: Database-Integrated Random Testing. In DBTest '26.

License

This project is licensed under the MIT license.

Explore all 69 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi