Open-Source-Projekt
tursodatabase/turso avatar
tursodatabase/turso

Turso Database: eine SQLite-kompatible SQL-Datenbank in Rust

Eine SQL-Datenbank in Rust: SQLite-kompatibel, jetzt auch Postgres sprechend (experimentell). Die LLVM von Datenbanken.

24.287 Sterne1.346 ForksRustMIT
GitHub

Auf einen Blick

Was ist das?
Eine prozessinterne SQL-Datenbank in Rust, kompatibel mit SQLite, mit einem experimentellen Postgres-Frontend und einer virtuellen Maschine im Kern.
Für wen ist es gedacht?
Turso Database wird aktiv in Richtung eines 1.0-Release entwickelt, wobei SQLite-Kompatibilität eine harte Anforderung ist und Postgres-Unterstützung noch experimentell ist. Das MIT-lizenzierte Projekt ist offen für Beiträge und läuft bereits in der Produktion bei mehreren Organisationen.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich Rust, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Was ist Turso Database?

Turso Database ist eine prozessinterne SQL-Datenbank, die in Rust geschrieben ist. Sie ist auf der Ebene von SQL-Dialekt, Dateiformat und C-API mit SQLite kompatibel und kann vorhandene SQLite-Datenbankdateien unverändert öffnen. Laut README läuft sie heute in der Produktion bei mehreren Organisationen. Sie hat außerdem ein experimentelles Postgres-Frontend, das den Postgres-Dialekt und das Drahtprotokoll spricht. Die Kern-Engine ist unterhalb der SQL-Ebene gemeinsam.

Die VDBE und das LLVM der Datenbanken

Wie SQLite kompiliert Turso SQL in Bytecode für eine virtuelle Maschine namens VDBE und führt diesen Bytecode dann aus. Dieses Design ermöglicht es einer einzigen Engine, mehr als einen SQL-Dialekt zu hosten. SQLite ist das primäre Frontend, und Postgres ist ein zweites Frontend mit eigenem Dialekt und Protokoll. Das erklärte Ziel des Projekts ist es, für Datenbanken das zu sein, was LLVM für Compiler ist: ein moderner, zuverlässiger Kern, auf den viele Frontends kompiliert werden. Das README merkt an, dass der Bytecode allgemein genug ist, um Doom auszuführen.

Funktionen und Roadmap

Das README listet SQLite-Kompatibilität, BEGIN CONCURRENT für verbesserten Schreibdurchsatz mittels MVCC, Change Data Capture, Mehrsprachunterstützung für Go, JavaScript, Java, .NET, Python, Rust und WebAssembly, asynchrone I/O unter Linux mit io_uring, plattformübergreifende Unterstützung für Linux, macOS, Windows und Browser, Vektorunterstützung für exakte Suche und Manipulation sowie verbessertes Schema-Management auf. Zu den experimentellen Funktionen gehören Postgres-Kompatibilität, Verschlüsselung im Ruhezustand, inkrementelle Berechnung mit DBSP, Volltextsuche über tantivy und Multi-Prozess-WAL-Koordination. Auf der Roadmap steht Vektor-Indexierung für schnelle approximative Vektorsuche.

Erste Schritte · tursodatabase turso

Das README dokumentiert einen Befehlszeilen-Installer, der die neueste Version holt und dann die interaktive Shell mit `tursodb` startet. Die Shell verbindet sich standardmäßig mit einer transienten In-Memory-Datenbank und unterstützt `.open`, um eine persistente Datenbank wieder zu öffnen. Dasselbe Binärprogramm kann mit `cargo run` aus dem Quellcode gebaut werden; Docker-make-Ziele sind ebenfalls vorhanden. Sprachbindungen sind verfügbar für Rust (`cargo add turso`), JavaScript (`npm i @tursodatabase/database`), Python (`uv pip install pyturso`), Go (`go get turso.tech/database/tursogo`) und Java über JDBC; die .NET-Nutzung wird mit `TursoConnection` gezeigt. Die genauen Beispiele finden Sie im README.

Experimentelles Postgres-Frontend und andere experimentelle Funktionen

Das Postgres-Frontend ist als experimentell markiert und implementiert den Postgres-SQL-Dialekt und das Drahtprotokoll. Es ist additiv: SQLite bleibt das ursprüngliche und primäre Frontend. Weitere experimentelle Funktionen sind Verschlüsselung im Ruhezustand, inkrementelle Berechnung mit DBSP, Volltextsuche mit der tantivy-Bibliothek und Multi-Prozess-WAL-Koordination über eine `.tshm`-Sidecar. Das README verweist für Postgres-Details auf eine Kompatibilitätsreferenz. Keine dieser Funktionen trägt eine Stabilitätsgarantie; sie sind ausdrücklich als experimentell aufgeführt.

MCP-Servermodus

Das Turso-CLI enthält einen Model-Context-Protocol-Server, gestartet mit `tursodb your_database.db --mcp`. Er stellt neun Werkzeuge bereit: open_database, current_database, list_tables, describe_table, execute_query, insert_data, update_data, delete_data und schema_change. Beispielkonfigurationen für Claude Code, Claude Desktop und Cursor stehen im README, ebenso wie direkte JSON-RPC-Beispiele über stdin/stdout. Der Server ist dafür gedacht, dass KI-Assistenten mit Datenbanken interagieren.

Produktionsstatus, Tests und Lizenz

Das FAQ sagt, dass Turso in der Produktion von Turso Cloud, dem Kin-KI-Assistenten und Spice.ai verwendet wird und dass es mit einer nativen deterministischen Simulationstestsuite und Antithesis getestet wird. Das Projekt hat 1.0 noch nicht erreicht, und die SQLite-Kompatibilität ist noch nicht 100%, wobei Unterschiede in COMPAT.md verfolgt werden. Vollständige Kompatibilität ist eine Voraussetzung für 1.0. Das Projekt ist unter MIT lizenziert, und Beiträge sind ausdrücklich unter MIT lizenziert, sofern nicht anders angegeben. Der Lizenztext enthält die übliche Gewährleistungsklausel und erwähnt weder Support noch Sicherheitsgarantien.

Einordnung für Turso Database

Die Angaben im README von Turso Database sind als Beschreibung des aktuellen Repository-Stands zu lesen. Sie zeigen, welche Einstiegspunkte vorgesehen sind und welche Funktionen die Maintainer ausdrücklich nennen. Sie ersetzen keine Zusage für eine bestimmte Infrastruktur, Datenmenge oder Integrationsumgebung. Gerade bei einem Projekt mit CLI, Bibliothek oder mehreren Plattformen muss die konkrete Nutzung an der dokumentierten Schnittstelle beginnen.

Für die erste Prüfung eignet sich der im README gezeigte Einstiegspfad von Turso Database. Dabei sollten die erzeugten Dateien, die Terminalausgabe und die im Projekt genannten Artefakte mit der Dokumentation verglichen werden. Nicht beschriebene Optionen sollten nicht als vorhanden angenommen werden. Die README unterscheidet, soweit angegeben, zwischen stabilen Funktionen, experimentellen Teilen und Roadmap-Punkten. Diese Einteilung ist für die Auswahl wichtiger als die reine Zahl der Sterne oder Forks.

Auch die Lizenz beantwortet nur die rechtlichen Rahmenbedingungen der genannten Nutzung. Sie sagt nichts über Verfügbarkeit, Fehlerfreiheit, Sicherheitsprüfungen oder Support. Für ein Team zählt daher, ob der dokumentierte Befehl mit der eigenen Version von Node.js, Swift, Rust, Python oder dem jeweils vorausgesetzten Werkzeug funktioniert und ob die Ausgabe zum eigenen Weiterverarbeitungsweg passt.

Redaktionelles Fazit

Turso Database wird aktiv in Richtung eines 1.0-Release entwickelt, wobei SQLite-Kompatibilität eine harte Anforderung ist und Postgres-Unterstützung noch experimentell ist. Das MIT-lizenzierte Projekt ist offen für Beiträge und läuft bereits in der Produktion bei mehreren Organisationen.

Offizielle Quellen

  1. Official README
  2. Project repository
  3. Release notes
Community-Notizen

Community-Notizen