Skip to content
research

Ihre Datenbank ist eine geheime CPU

Entwickler haben gerade den Spieleklassiker DOOM innerhalb einer Datenbank ausgeführt, nicht nur darauf. Dieser verrückte Stunt offenbart die verborgene Rechenleistung moderner Datenbank-Engines und signalisiert einen bedeutenden Wandel in dem, was auf der Datenebene möglich ist.

Aki Tanaka
Ihre Datenbank ist eine geheime CPU

Jenseits von Zeilen: SQL ist jetzt eine Game Engine

Entwickler bei Turso haben kürzlich eine bemerkenswerte technische Leistung vollbracht: Sie haben das klassische Spiel DOOM erfolgreich kompiliert und vollständig innerhalb ihrer Datenbank-Engine ausgeführt. Dies war nicht nur ein Ausführen des Spiels auf einer Datenbank; die Kernlogik wurde direkt innerhalb des Rechenkerns der Datenbank ausgeführt.

Dieser Stunt basiert auf einem oft übersehenen Aspekt der Datenbankarchitektur. Wenn Benutzer eine SQL-Abfrage senden, führt die Datenbank-Engine diese nicht direkt aus. Stattdessen kompiliert sie die Abfrage in einen Low-Level-Befehlssatz, bekannt als Bytecode, der dann auf einer internen Virtual Machine (VM) läuft. Diese VM, ähnlich einer winzigen CPU, verarbeitet seit langem Operationen für Systeme wie SQLite.

Das Team von Turso, das eine Datenbank-Engine von Grund auf in Rust neu aufbaut, nutzte diese interne VM. Sie kompilierten die Spiellogik von DOOM in den eigenen Bytecode der Datenbank, was es demselben Befehlssatz, der `SELECT * FROM users` verarbeitet, ermöglichte, einen First-Person-Shooter zu rendern. Ein kleiner C-zu-VDBE-Compiler (`vdbecc`) erleichterte diese Transformation.

Die Demonstration beweist einen tiefgreifenden Punkt: Eine Datenbank-Engine ist weit mehr als ein passives Speichersystem für Zeilen und Tabellen. Sie verkörpert einen leistungsstarken Allzweckcomputer, der direkt vor unseren Augen in der Infrastruktur verborgen ist, die wir täglich nutzen. Dies definiert unser Verständnis davon, was eine Datenbank leisten kann, neu.

Die in Ihrer Datenbank verborgene CPU freischalten

SQL-Abfragen werden selten direkt ausgeführt. Stattdessen kompilieren die meisten Datenbanken, einschließlich SQLite, sie in einen kompakten Bytecode. Dieser Bytecode läuft dann auf einer internen Virtual Database Engine (VDBE) – im Grunde eine winzige, spezialisierte CPU, die in der Datenbank selbst verborgen ist.

Ein Team bei Turso baut diesen Kern-Engine grundlegend in Rust neu auf. Sie stellen sie sich als das 'LLVM für Datenbanken' vor, ein universelles Backend, das in der Lage ist, verschiedene Datenbank-Frontends zu unterstützen. Dies beinhaltet die aktuelle Kompatibilität mit SQLite und eine geplante zukünftige Integration für Postgres.

DOOM direkt auf dieser VDBE auszuführen, demonstriert anschaulich die darin schlummernde Rechenleistung. Es beweist, dass diese interne 'CPU' weit mehr als nur einfache Datenabrufe verarbeitet und komplexe Spiellogik ausführt und rendert. Derselbe Befehlssatz, der `SELECT * FROM users` verarbeitet, kann nun einen First-Person-Shooter rendern.

Diese Leistung unterstreicht einen tiefgreifenden Wandel: Datenbanken entwickeln sich über bloße Datenspeicher hinaus. Sie werden zu Allzweck-Rechenmaschinen, die zu anspruchsvollen Operationen fähig sind, die zuvor dedizierten Anwendungsebenen vorbehalten waren. Ein echter, programmierbarer Computer lebt in Ihrer Datenbank.

Vom Single-Writer zur globalen Skalierung

Die elegante Einfachheit von SQLite auferlegte lange Zeit eine kritische Einschränkung: ihr Single-Writer-Modell. Diese Architektur, obwohl robust für viele Anwendungsfälle, begrenzt den Durchsatz für gleichzeitige Schreibvorgänge und schafft einen Engpass in Szenarien mit hoher Nachfrage.

Tursos Rust-Rewrite architektonisiert diese Kernbeschränkung grundlegend neu. Es implementiert Multi-Version Concurrency Control (MVCC), was Schreibvorgänge mit hohem Durchsatz ermöglicht und die Datenbank von einer serialisierten Ressource in ein hochskalierbares, paralleles System verwandelt.

Über die Nebenläufigkeit hinaus integriert Turso eine Reihe von Funktionen, die für moderne verteilte Anwendungen entscheidend sind. Entwickler erhalten leistungsstarke Funktionen wie: - Datenbank-Branching für isolierte Entwicklungsumgebungen - granulare Point-in-Time-Wiederherstellung für eine robuste Datenwiederherstellung - native Vektorsuche, essenziell für KI-gestützte Anwendungen

Es beinhaltet zudem eine robuste WebAssembly (WASM)-Unterstützung. Dies ermöglicht die direkte Ausführung von Datenbanklogik am Edge oder in Browsern, wodurch die traditionellen Grenzen zwischen Client und Server verschwimmen.

Gefällt Ihnen der Artikel? Erhalten Sie jeden Morgen einen wie diesen per E-Mail.

eine E-Mail pro Tag · Abmeldung mit zwei Klicks · kein Tracking durch Dritte

Dieses verteilte Design untermauert Tursos "Data Edge"-Vorteil. Es bietet eine globale Replikation mit geringer Latenz und stellt sicher, dass Daten geografisch nah bei den Benutzern liegen, wo auch immer diese sich befinden. Diese Fähigkeit konkurriert direkt mit großen Cloud-Datenbankanbietern und garantiert einen konsistenten, performanten Datenzugriff weltweit. Tursos ambitionierte architektonische Vision für einen generalisierten Datenbankkern wird in ihrer Arbeit weiter erläutert: We're building Postgres in Rust. Using the LLVM of databases - Turso.

Die nächste Grenze: Postgres auf einem SQLite-Kern

Tursos strategische Roadmap zielt nun auf eine tiefe Kompatibilität mit dem Postgres-Dialekt und dem Wire-Protokoll ab. Dieser ambitionierte nächste Schritt erweitert ihre auf Rust basierende Kern-Engine über ihre SQLite-Ursprünge hinaus und zielt darauf ab, eine weitaus breitere Datenbanklandschaft zu bedienen. Stellen Sie sich die Flexibilität vor: Bestehende Postgres-Anwendungen könnten sich nahtlos verbinden, auf Tursos Hochleistungs-Engine laufen und deren moderne Architektur sowie die Multi-Version Concurrency Control erben. Hier geht es nicht nur um Übersetzung; es geht um einen grundlegenden Wandel.

Dieser Ansatz verspricht erhebliche Vorteile für Postgres-Nutzer. Er adressiert direkt klassische Postgres-Herausforderungen, wie den ressourcenintensiven Prozess-pro-Verbindung-Overhead, der die Skalierbarkeit in traditionellen Bereitstellungen oft einschränkt. Nutzer erhielten einen einbettbaren, modernen Rust-Kern, der überlegene Edge-Performance, robuste gleichzeitige Schreibvorgänge und die betriebliche Einfachheit einer einzigen, hochoptimierten Binärdatei bietet. Es ist, als würde man eine Flotte spezialisierter Motoren durch ein universelles, hocheffizientes Kraftwerk ersetzen.

Tursos Streben nach Postgres-Kompatibilität konkretisiert ihre Vision vom "LLVM der Datenbanken". Dieses Konzept sieht eine einzige, hochoptimierte virtuelle Datenbank-Engine vor, die in der Lage ist, Bytecode aus verschiedenen SQL-'Sprachen' zu kompilieren und auszuführen, was sowohl SQLite als auch Postgres umfasst. Eine solche Architektur schafft ein effizienteres, vielseitigeres Daten-Ökosystem und beweist, dass eine Datenbank-Engine über ihre Rolle als bloßer Speicher hinausgehen kann. Sie kann als universelles Rechengewebe fungieren, das an mehrere Paradigmen anpassbar ist.

Häufig gestellte Fragen

Was bedeutet es, DOOM 'innerhalb' einer Datenbank auszuführen?

Es bedeutet, dass die Spiellogik in den nativen Befehlssatz (Bytecode) der Datenbank kompiliert und von deren interner virtueller Maschine ausgeführt wurde – derselben, die auch SQL-Abfragen verarbeitet. Die Spiellogik läuft direkt auf dem Kern der Datenbank-Engine und nicht in einer separaten Anwendungsschicht.

Was ist das 'LLVM der Datenbanken'?

Dies ist Tursos Vision für einen universellen, hochperformanten Datenbankkern, der in Rust geschrieben ist. Wie LLVM für Compiler bietet es ein gemeinsames Backend, auf das verschiedene Datenbank-Frontends (wie SQLite oder Postgres) kompilieren können, was gemeinsame Optimierungen und Funktionen ermöglicht.

Warum hat Turso DOOM in ihrer Datenbank ausgeführt?

Es war ein leistungsstarker Proof-of-Concept, um die Allgemeingültigkeit und Leistungsfähigkeit ihrer Bytecode Virtual Machine (VDBE) zu demonstrieren. Es beweist, dass die Engine nicht nur für `SELECT`-Anweisungen gedacht ist, sondern eine echte Allzweck-Rechen-Engine darstellt.

Wie unterscheidet sich Turso von Standard-SQLite?

Turso ist eine Rust-Neuentwicklung von SQLite, die moderne Funktionen wie Multi-Version Concurrency Control (MVCC) für gleichzeitige Schreibvorgänge, native Vektorsuche und Datenbank-Branching hinzufügt und für verteilte Edge-Umgebungen mit WebAssembly-Unterstützung konzipiert ist.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only