Beta von PostgreSQL 9.1 bringt synchrone Replikation

Wichtige Neuerungen in der künftigen Version 9.1 der freien, relationalen Datenbank PostgreSQL sind synchrone Replikation, spaltenweise Sortiervorgaben und das Isolation-Level "serializable".

In Pocket speichern vorlesen Druckansicht 25 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

In spätestens vier Monaten soll PostgreSQL 9.1 fertig sein, jetzt veröffentlichten die Entwickler die erste Beta der freien SQL-Datenbank. Sie bietet erstmals einen synchronen Replikationsmodus, bei dem mit COMMIT abgeschlossene Transaktionen die Slave-Knoten auf jeden Fall erreichen. Bei der bisher ausschließlich verfügbaren asynchronen Replikation konnte es zu Datenverlusten kommen, wenn der Master nach dem COMMIT abstürzte, bevor er die Daten zu den Slaves schicken konnte. Synchrone Replikation stellt sicher, dass der Master bei jeder schreibenden Transaktion wartet, bis mindestens ein Slave-Knoten die Daten in seine Transaktions-Logs geschrieben hat. Diese höhere Zuverlässigkeit müssen Anwender mit etwas längeren Antwortzeiten bezahlen. Asynchrone Replikation wird auch in PostgreSQL 9.1 weiterhin angeboten.

Auf einer anderen Ebene kann auch das jetzt verfügbare Isolation-Level "serializable" mehr Datensicherheit bringen. Es stellt sicher, dass das gleichzeitige Ausführen mehrere Transaktionen nicht zu anderen Ergebnissen führt als das sequenzielle. Dieses Isolation-Level gab es zwar bereits in vorherigen PostgreSQL-Versionen. Es war jedoch so implementiert, wie es der Standard für das Level "repeatable read" vorschreibt. Bei der neuen Serializable-Umsetzung gibt es keine Locks, wodurch sich Operationen nicht gegenseitig blockieren können. Lassen sich Transaktionen nicht serialisieren, führt der Server nur eine davon aus und bricht die anderen mit einer Fehlermeldung ab.

Bei der Internationalisierung rüstet PostgreSQL 9.1 nach, indem es COLLATE-Regeln für einzelne Spalten, Indizes und Ausdrücke erlaubt. Bislang ließ sich so die Sortierreihenfolge nur für eine komplette Datenbank einmalig bei ihrer Erzeugung setzen. Bei den anfänglich verfügbaren Collation-Regeln greift der Server auf die im Betriebssystem vorhandenen Locales zurück. Neue Regeln lassen sich mit CREATE COLLATION erstellen.

Sämtliche Neuerungen sind in den Release-Notes nachzulesen. Damit die Entwickler den geplanten Veröffentlichungstermin der endgültigen Version einhalten können, bitten sie um intensives Testen der Beta. Ausführbare Versionen für Free BSD, Mac OS X, Linux, Solaris und Windows sowie der Quellcode sind auf der Download-Seite des Projekts erhältlich. (ck)