Open Source

Freie Datenbanken im Vergleich

PostgreSQL: Viel mehr als Relationen

Der Star neben der MySQL-Community ist zweifelsohne PostgreSQL. Die Entwickler beschreiben ihr Produkt selbst als "The world's most advanced database". Dieser Anspruch nährt sich daraus, dass PostgreSQL besonders auf die korrekte und vollständige Implementierung der SQL-Standards setzt. Ursprünglich wurde das Projekt an der Universität von Berkeley gestartet und später als Ingres bekannt. PostgreSQL hat sich dann nach einigen Umwegen als freies Kind auf Basis des Ingres-Code entwickelt.

PostgreSQL gibt es für fast alle Unix-Derivate sowie für Linux. Auf Windows ist der Betrieb immer noch eine schwierige Angelegenheit - hier sollte man von einem produktiven Einsatz absehen. PostgreSQL ist in den meisten Linux-Distributionen ebenfalls mit einer sinnvollen Standardkonfiguration an Bord.

Als eine der wenigen Open-Source-Datenbanken im Testfeld hält sich PostgreSQL an den ANSI-SQL-Standard. So können kompatible Anwendungen unabhängig vom Datenbank-Server ohne großen Mehraufwand integriert werden. Die Schnittstellen sind bei PostgreSQL traditionell gut zu C und den Nachfolgern C++ und C# sowie Java und PHP. Für Python und Ruby sieht es da nicht so gut aus - hier ist der Support für PostgreSQL noch recht instabil.

PhpPgAdmin ist eines der wenigen ausgereiften Tools, um einen PostgreSQL-Server zu verwalten.
PhpPgAdmin ist eines der wenigen ausgereiften Tools, um einen PostgreSQL-Server zu verwalten.

Besonders verlockend ist PostgreSQL aufgrund der vielen Enterprise-Features, die man sonst nur bei Oracle & Co. findet: Neben zahlreichen Index-Typen kann man Funktionen in der eigenen Sprache PL/SQL schreiben. Diese ist dem Oracle-Dialekt sehr ähnlich. Ein ausgefeiltes internes Versionssystem ermöglicht die volle Unterstützung für Acid-Transaktionen, was insbesondere bei Buchungssystemen angenehm auffällt. Dazu kommen zum Beispiel auch Trigger und verschiedene, komplexe Datentypen wie Arrays in Tabellenzellen oder PostGIS für Geosysteme. PostgreSQL kann auch problemlos mit XML-Daten umgehen und diese in einer Datenbank ablegen.

Eigene Objekte und Datentypen sowie Two-Phase-Commit vervollständigen das gute Bild von PostgreSQL. Das System eignet sich damit im Gegensatz zu MySQL nicht nur für Web-Anwendungen, sondern auch für große Unternehmensdatenbanken mit Tausenden Geschäftsdatensätzen. Einen Nachteil bildet jedoch die Geschwindigkeit: PostgreSQL gehört nicht gerade zu den schnellsten Systemen.

Auch die Wartung der Datenbank ist für Umsteiger von MySQL oder Oracle eher gewöhnungsbedürftig: Es gibt zwar verschiedene Template-Tabellen und ein feingranulares Benutzer-Management, dafür aber kaum grafische Admin-Tools. Wer also auf die Kommandozeile verzichten will oder muss, kann nur auf wenige Java- oder Web-gestützte Tools zurückgreifen.

Plus/Minus PostgreSQL

+ Exakte Umsetzung der SQL-Standards (ANSI-SQL);

+ einfacher Umstieg von Oracle durch PL/SQL;

+ umfangreiche Features (Acis-Transaktionen, GIS, XML).

- Komplexere Administration und weniger Tools;

- Anbindung an spezielle Frameworks schwierig.