Was ist PostgreSQL?

PostgreSQL ist eine quelloffene relationale Datenbank: Daten liegen in Tabellen mit einem Schema, eine Transaktion geht entweder ganz oder gar nicht durch, und Fragen werden in Standard-SQL beantwortet. Entwickelt wird sie seit Jahrzehnten offen, von einer Community und nicht von einem Anbieter, unter einer freizügigen Lizenz, die bisher niemand ändern konnte.

Der letzte Punkt ist kein Detail. Mehrere Datenbanken, die bei ihrer Einführung quelloffen waren, sind seither auf restriktive Lizenzen gewechselt. Die Governance von PostgreSQL macht genau diese Überraschung unwahrscheinlich, und für Organisationen, die einen Datenspeicher für ein Jahrzehnt wählen, ist das oft das entscheidende Argument.

Was du tatsächlich bekommst

Das Erwartbare: Tabellen, Joins, Indizes, Transaktionen, Constraints und ein Query-Planer, der sehr lange Zeit hatte, gut zu werden.

Das, was Leute überrascht, die vor Jahren zuletzt hingeschaut haben:

In der Praxis heisst das: die Antwort "dafür brauchen wir noch einen Datenspeicher" lohnt es sich einmal zu hinterfragen. Oft kann PostgreSQL es bereits, und eine Datenbank zu betreiben ist deutlich weniger Arbeit als zwei.

Der Fall mit den Vektoren verdient eine Ausführung, denn dort greift das Argument wirklich. Ein Retrieval-System, von dem etwas abhängt, muss einen Knotenausfall überstehen, sich auf einen Zeitpunkt zurücksetzen lassen und im selben Rhythmus gesichert werden wie alles andere. In PostgreSQL sind das gelöste Probleme: Replikation, Failover und Point-in-Time Recovery haben dort seit Langem die meiste Aufmerksamkeit bekommen. Ein spezialisierter Vektorspeicher sucht womöglich schneller, und dann sind seine Verfügbarkeit, seine Backups und seine Wiederherstellung eine zweite Sache, die du besitzt und betreibst. Genau dort taucht die Rechnung meist auf, im Betrieb und nicht im Benchmark.

Beratung anfragen

Wann etwas anderes besser passt

Caching und flüchtiger Zustand. Für einen Session-Cache ist ein Key-Value-Store das richtige Werkzeug. PostgreSQL kann das, und sollte es nicht. Redis ist die übliche Antwort.

Queues und Event-Streaming. Eine Tabelle als Arbeitsqueue zu nutzen ist ein bekanntes Muster und eine bekannte Quelle von Lock-Konflikten, sobald das Volumen steigt. Ein Message Broker ist dafür gebaut: RabbitMQ für das Verteilen von Arbeit, ein Log wie Kafka, wenn jeder Konsument jedes Ereignis lesen muss.

Wirklich riesige einzelne Tabellen mit einfachen Zugriffsmustern. Sobald du kräftig shardest, verdienen spezialisierte Speicher ihr Geld.

Analytik über Milliarden von Zeilen. Spaltenorientierte Engines beantworten solche Abfragen auf eine Art, die ein zeilenorientierter Speicher nicht erreicht, so gut sein Planer auch sein mag.

Die Versionstretmühle, von der niemand spricht

Hauptversionen von PostgreSQL werden fünf Jahre lang unterstützt. Verglichen mit weiten Teilen des Stacks ist das ein bequemer Rhythmus, und genau deshalb geht er vergessen: fünf Jahre reichen, damit die Person, die die Datenbank aufgesetzt hat, den Arbeitgeber gewechselt hat.

Ein Wechsel der Hauptversion ist kein Paket-Update. Er schreibt das Format auf der Platte um, was entweder Ausfallzeit im Verhältnis zur Datenmenge bedeutet oder ein im Voraus aufgesetztes Upgrade über Replikation. Teams, die mehrere Versionen auslassen, stellen fest, dass die aufgeschobene Arbeit nicht verschwunden ist, sondern sich aufgetürmt hat.

Was ein sauberer Betrieb verlangt

Die Installation ist einfach. Diese Punkte entscheiden, ob du deine Daten in drei Jahren noch hast:

Nichts davon ist für sich genommen schwierig. Es ist eine dauernde Verpflichtung, und meistens ist es niemandes tatsächliche Aufgabe.

Betreut oder selbst

PostgreSQL selbst zu betreiben ist völlig vernünftig, sofern jemand die Liste oben verantwortet. Die Frage, die eine ehrliche Antwort verdient, ist, ob das jemand tut und was in der Woche passiert, in der diese Person in den Ferien ist.

Ein betreuter Dienst verschiebt diese Liste zu jemandem, dessen Aufgabe sie ist. Was sich zwischen den Angeboten unterscheidet, ist, wo sie laufen, welches Recht für den Vertrag gilt und ob du ein reguläres PostgreSQL behältst, das du mitnehmen kannst, oder einen Fork, den du nicht mitnehmen kannst.

Wo VSHN ins Bild kommt

VSHN betreibt PostgreSQL auf Schweizer Cloud-Infrastruktur ab CHF 80 pro Monat, mit einem SLA von bis zu 99,99 Prozent, mit Backups, Upgrades und Incident Response rund um die Uhr, auf Cloudscale, Exoscale und weiteren Anbietern. Es ist reguläres PostgreSQL mit dem regulären Erweiterungsmechanismus, deine Anwendung wird also durch nichts davon gebunden. Unsere Souveränitätsbewertung behandelt die Frage der Zuständigkeit, und Servala nimmt Bestellungen in Selbstbedienung entgegen, wenn du lieber nicht zuerst mit jemandem sprichst.

Kostenschätzung anfragen

Melde dich

Brauchst du Managed PostgreSQL? Bestelle auf Servala unter servala.com/service/postgresql/, oder melde dich für ein kostenloses Gespräch. Brauchst du Hilfe bei Datenbankarchitektur oder Migration? Wir vermitteln dir den passenden Beratungspartner.

Kostenloses Gespräch buchen

Oder stelle deine Frage