Neon

Wenn dein Projekt Daten speichert, tut es das in Postgres. Gehostet wird das bei Neon.

Was das ist

Neon ist Postgres, betrieben von jemand anderem. Kein eigener Dialekt, keine besondere Abfragesprache — dieselbe Datenbank, die seit dreißig Jahren überall läuft, nur ohne dass jemand einen Server dafür pflegt.

Das ist der erste Grund für die Wahl, und er ist der wichtigste: Deine Daten liegen in einem Format, das jeder lesen kann. Wenn du eines Tages woanders hin willst, nimmst du einen Abzug mit und spielst ihn ein.

Warum nicht einfach ein Postgres auf einem Server

Weil zwei Eigenschaften den Unterschied machen, die ein selbst betriebenes Postgres nicht hat.

Datenbanken lassen sich verzweigen. Ein Branch ist eine vollständige Kopie deiner Datenbank, die in Sekunden entsteht und zunächst nichts zusätzlich kostet, weil nur Änderungen tatsächlich Platz brauchen. Damit lässt sich eine Änderung am Datenmodell an einer echten Kopie deiner Daten ausprobieren, bevor sie die richtige Datenbank erreicht. Wer das einmal mit einer kaputten Migration erlebt hat, weiß, was das wert ist.

Ungenutzte Datenbanken kosten fast nichts. Sie fahren herunter, wenn niemand sie braucht, und wachen auf, wenn eine Anfrage kommt. Für ein Projekt, das noch keine Nutzer hat, ist das der Unterschied zwischen einer laufenden Rechnung und keiner. Der Preis dafür ist die erste Anfrage nach einer Ruhephase: Sie wartet, bis die Datenbank wieder da ist.

Dazu kommt, was wegfällt: keine lokale Datenbank, die installiert, konfiguriert und aktuell gehalten werden muss. Wir betreiben selbst keine.

Was du damit zu tun hast

Wenig. Beim Bootstrap wird entschieden, ob dein Projekt eine Datenbank braucht. Wenn ja, entsteht ein leeres Schema, das Grundgerüst für Änderungen am Datenmodell und die Verbindung — den Rest bestimmt später dein Datenmodell, und das ist eine fachliche Frage, keine Infrastrukturfrage.

Zugangsdaten bekommst du nicht in die Hand. Sie werden als Geheimnis hinterlegt und nicht ausgegeben.

Und wenn ich etwas anderes will

Dann ist das eine Entscheidung, die dein Projekt trifft und die in deinen Architekturentscheidungen festgehalten wird. Der Standardweg ist der schnelle, nicht der einzige. Weil unten Postgres steht, ist der Wechsel ohnehin eine Frage des Betriebs und nicht des Codes.

Die Verbindung zur Anwendung ist abgebrochen. Neu laden stellt sie wieder her. Neu laden 🗙