Skip to content

Postgres wurde gerade in Rust neu geschrieben

Ein neues Projekt namens pgrust hat Postgres komplett in Rust neu geschrieben, und es besteht jeden einzelnen Regressionstest. Aber die wahre Geschichte ist nicht nur die Geschwindigkeit – es ist, wie KI dieses 'unmögliche' Kunststück Wirklichkeit werden ließ.

Nora Vance
Hero image for: Postgres wurde gerade in Rust neu geschrieben

Zusammenfassung / Kernpunkte

  • Ein neues Projekt namens pgrust hat Postgres komplett in Rust neu geschrieben, und es besteht jeden einzelnen Regressionstest.
  • Aber die wahre Geschichte ist nicht nur die Geschwindigkeit – es ist, wie KI dieses 'unmögliche' Kunststück Wirklichkeit werden ließ.

Jenseits eines Forks: Ein perfekter Klon?

Eine vollständige Neuentwicklung von Postgres in Rust, getauft auf den Namen pgrust, wurde veröffentlicht, und es ist weit mehr als eine bloße akademische Übung. Dieses kühne Projekt hat das monumentale Kunststück vollbracht, alle über 46.000 offiziellen Postgres-Regressionstests zu bestehen – ein Benchmark, den nur wenige, wenn überhaupt, "kompatible" Datenbanken wirklich zu beanspruchen wagen. Dies ist nicht nur ein Zeichen der Kompatibilität; es ist eine Erklärung.

Entscheidend ist, dass pgrust kein Fork der bestehenden C-Codebasis ist, noch ist es eine Erweiterung, die an das Original angeflanscht wurde. Es stellt eine vollständige, von Grund auf neu entwickelte Implementierung dar, die akribisch auf 100% Verhaltenskompatibilität mit Postgres 18.3 ausgelegt ist. Das Ziel war nicht, die alte Engine zu optimieren, sondern sie vollständig durch Rust zu ersetzen, wobei jede Nuance des externen Vertrags bewahrt wurde.

Das Ergebnis ist ein Datenbankserver, der von außen betrachtet von seinem C-basierten Vorgänger völlig ununterscheidbar ist. Er spricht das exakte wire protocol und ermöglicht eine nahtlose Integration mit Standard-`psql`-Clients. Noch erstaunlicher ist, dass pgrust sogar direkt aus einem bestehenden Postgres 18.3 Datenverzeichnis booten kann, was ein Maß an Festplattenkompatibilität demonstriert, das die Grenze zwischen einer neuen Engine und einem regelrechten Klon verwischt. Dies ist nicht nur oberflächliche Nachahmung; es ist eine tiefe, fundamentale Übereinstimmung.

Das wahre Ziel: Threads statt Prozesse

Postgres, trotz all seiner Stabilität, setzt auf ein schwerfälliges Prozess-pro-Verbindung-Modell. Jeder Client fordert seinen eigenen Backend-Prozess, was eine robuste Isolation bietet, aber erheblichen Speicher-Overhead verursacht. Dieses Design erschwert auch die gemeinsame Nutzung von Zuständen für parallele Operationen, was oft Connection Pooling erforderlich macht.

pgrust schlägt jedoch in seiner unveröffentlichten, experimentellen Version einen anderen Weg ein. Es zielt darauf ab, dies durch eine Thread-pro-Verbindung-Architektur zu ersetzen. Diese Umstellung verspricht einen geringeren Speicherverbrauch pro Verbindung und vereinfacht den Informationsaustausch zwischen verschiedenen Datenbankkomponenten, ein entscheidender Vorteil für moderne Workloads.

Doch dieser architektonische Schwenk bringt einen entscheidenden Kompromiss mit sich. Die Prozessisolation von Postgres bietet ein wichtiges Sicherheitsnetz: Ein Absturz in einer Verbindung bringt normalerweise nicht den gesamten Server zum Erliegen. Bei Threads könnte ein einzelner Speicherfehler oder eine unsichere Erweiterung potenziell den gesamten Prozess destabilisieren und einige dieser inhärenten Sicherheitsvorkehrungen aufheben.

Diese grundlegende Neuarchitektur untermauert die kühnsten Leistungsansprüche von pgrust. Entwickler berichten von einem unbestätigten 50%igen Schub für transaktionale Workloads und einer erstaunlichen 300-fachen Verbesserung bei analytischen Abfragen in dieser unveröffentlichten Version. Diese dramatischen Zahlen bleiben spekulativ, da der Code, der diese Benchmarks untermauert, noch nicht öffentlich zur unabhängigen Überprüfung verfügbar ist.

Die Geheimwaffe: KI-gesteuerte Entwicklung

Die monumentale Neuentwicklung von Postgres zu pgrust war nicht nur ein Beweis für die Fähigkeiten von Rust; es war eine kühne Demonstration KI-gesteuerter Entwicklung. Michael Malis und Jason Seibel nutzten KI-Coding-Agenten umfassend, was es ihnen ermöglichte, die millionen Zeilen umfassende C-Codebasis von Postgres mit erstaunlicher Geschwindigkeit und Machbarkeit zu übersetzen. Diese monumentale Aufgabe, die zuvor für ein kleines Team undenkbar war, wurde durch automatisierte Übersetzung handhabbar und veränderte die Wirtschaftlichkeit eines solchen Vorhabens grundlegend.

Dies offenbart das wahre Experiment: nicht nur, ob Rust Postgres schneller machen kann, sondern ob KI das Umschreiben von Legacy-Infrastruktur erschwinglich genug machen kann, um die Kernarchitektur neu zu überdenken. Jahrzehnte alter C-Code, einst als unantastbarer Monolith betrachtet, wurde zu einem machbaren Ziel für tiefgreifende architektonische Veränderungen. Die veröffentlichte pgrust-Version spiegelt weitgehend die ursprüngliche Struktur von Postgres wider, aber das unveröffentlichte thread-per-connection-Modell zeigt den wahren Ehrgeiz für grundlegende Designänderungen.

Dieser Paradigmenwechsel definiert die Kosten-Nutzen-Analyse für die Modernisierung anderer großer, jahrzehntealter Softwareprojekte grundlegend neu. Systeme wie Linux, Apache oder sogar ältere Unternehmensanwendungen, die zuvor als zu teuer oder riskant zum Umschreiben galten, treten nun in den Bereich des Möglichen ein. KI-Agenten reduzieren die anfängliche Übersetzungsarbeit drastisch und ermöglichen es menschlichen Ingenieuren, sich auf innovative architektonische Überarbeitungen zu konzentrieren, wie detaillierter unter malisper/pgrust: Postgres rewritten in Rust, now passing 100% of the Postgres regression tests - GitHub beschrieben.

Hype vs. Realität: Das Urteil über pgrust

Es überrascht nicht, dass das Urteil der Ingenieurgemeinschaft über pgrust stark geteilt ist. Während viele Entwickler großen Respekt vor einer Leistung wie dem Bestehen aller über 46.000 offiziellen Postgres-Regressionstests äußern, bleibt eine gesunde Skepsis bestehen. Ungeprüfte Benchmarks, die eine um 50 % bessere Transaktionsleistung und 300-mal schnellere analytische Workloads einer unveröffentlichten Version behaupten, schüren diese Vorsicht.

Enjoying this? Get one like it in your inbox each morning.

one email a day · unsubscribe in two clicks · no third-party tracking

Kein Irrtum: pgrust ist ein bahnbrechendes Experiment, kein produktionsreifer Ersatz. Kernbereiche wie das umfangreiche extension ecosystem bleiben unvollendet, und die kritische Härtung, die für die Absturzwiederherstellung und langfristige Stabilität erforderlich ist, muss noch realisiert werden. Dies in einer Live-Umgebung einzusetzen, wäre unverantwortlich.

Letztendlich ist der tiefgreifendste Beitrag von pgrust möglicherweise kein einzelner Benchmark oder gar ein direkter Ersatz für Postgres. Stattdessen liegt sein wahrer Wert in der beispiellosen Freiheit, die es schafft. Ermöglicht durch KI-gesteuerte Entwicklung, demonstriert dieses Projekt die Machbarkeit des Testens radikal neuer Datenbankarchitekturen, wie eines thread-per-connection-Modells, ohne die unerschwinglichen Kosten und die Komplexität des Forking des gesamten Postgres-Projekts.

Häufig gestellte Fragen

Was ist pgrust?

pgrust ist eine vollständige, von Grund auf neu geschriebene Implementierung der Postgres-Datenbank in der Programmiersprache Rust. Es soll ein Drop-in-Ersatz sein, der sich verhaltensmäßig identisch verhält, nachdem er alle über 46.000 offiziellen Regressionstests von Postgres bestanden hat.

Ist pgrust schneller als Postgres?

Die aktuell veröffentlichte Version von pgrust konzentriert sich nicht auf die Leistung. Eine unveröffentlichte Entwicklungsversion beansprucht jedoch erhebliche Geschwindigkeitssteigerungen – bis zu 50 % bei Transaktions-Workloads und 300-mal bei analytischen Workloads – durch den Wechsel zu einem thread-per-connection-Modell.

Kann ich pgrust in der Produktion verwenden?

Nein. Die Entwickler geben an, dass pgrust nicht produktionsreif ist. Obwohl es Regressionstests besteht, hat es nicht die jahrelangen Praxistests durchlaufen, die für das Vertrauen in der Produktion erforderlich sind, insbesondere in Bereichen wie Absturzwiederherstellung und Replikation.

Wie wurde KI zum Aufbau von pgrust verwendet?

Die Entwickler setzten KI-gesteuerte Coding-Agenten umfassend ein, um die enorme Aufgabe zu beschleunigen, fast eine Million Zeilen C-Code in Rust zu übersetzen. Dies machte ein ansonsten unerschwinglich teures Experiment machbar.

Found this useful? Share it.

AI Reputation Report

What AI knows about you.

ChatGPT, Perplexity, Gemini, Claude & Grok are already answering questions in your category. Type your site, see who they name — you, or your competitor. Free preview.

Check my sitefree preview

One short daily email of tools worth shipping. No drip funnel.

one email a day · unsubscribe in two clicks · no third-party tracking

🚀Mehr entdecken

Bleiben Sie der KI voraus

Entdecken Sie die besten KI-Tools, Agenten und MCP-Server, kuratiert von Stork.AI.

P.S. Etwas Brauchbares gebaut? Bei Stork listen