Ob dynamische Webseite, Data Warehouse oder Analyseprogramme, ohne eine leistungsfähige Datenbank im Hintergrund sind viele Anwendungen undenkbar. Je größer die Datenmengen und je komplexer die Datenbankabfragen werden, umso leistungsfähiger muss das Datenbankmanagementsystem sein. PostgreSQL gilt heute als die weltweit fortschrittlichste Open-Source-Datenbanksystem für komplexe Datenbanken.

PostgreSQL – komplexe Daten sicher speichern und verwalten

Es ist ein leistungsstarkes, objektrelationales Datenbanksystem, abgekürzt ORDBMS. Die Software ist Open Source und kann kostenlos für private und geschäftliche Anwendungen genutzt werden. PostgreSQL unterstützt fast alle gängigen, für die Entwicklung von Prozeduren und Funktionen verwendeten Programmiersprachen sowie SQL (relational) als auch JSON (nicht-relationale) Abfragen. Die Leistung des Datenbank-Management-Systems ist mit kommerziellen Datenbanksystemen wie Oracle oder dem SQL-Server vergleichbar.

Das System beinhaltet viele Erweiterungen, die zusätzliche Funktionalität bieten, einschließlich PostGIS, Internationalisierung, Volltextsuche oder eine Unterstützung für internationale Zeichensätze. PostgreSQL ermöglicht es Benutzern darüber hinaus, das System um selbstdefinierte Datentypen, Operatoren, Trigger, Funktionen und Regeln, mit denen Zugriffe auf Datenbankobjekte gesteuert werden können, zu erweitern. Die Datenbank kann als 32 und 64 Bit Applikation auf Unix/Linux Umgebungen, MacOS und Windows Plattformen eingesetzt werden. PostgreSQL wird als primäre Datenbank und als Data Warehouse für viele Web-, Mobil-, Geo- und Analyseanwendungen eingesetzt.

Die Geschichte von PostgreSQL kurz gefasst

Das PostgreSQL-Projekt startete bereits 1986 unter der Leitung von Prof. Michael Stonebreaker an der Universität von Kalifornien, in Berkeley. Ursprünglich hieß das Projekt POSTGRES, in Anlehnung an die einige Jahre zuvor ebenfalls in Berkeley entwickelte Ingres-Datenbank. Im Rahmen des Projektes wurden verschiedene Funktionen, die beispielsweise zur vollständigen Unterstützung mehrerer Datentypen erforderlich sind, entwickelt und dem Ingres Nachfolger hinzugefügt. 10 Jahre nach dem Start im Jahr 1996 wurde das Projekt in PostgreSQL umbenannt, um zu verdeutlichen, dass POSTGRES die SQL-Abfragesprache unterstützt. Eine engagierte und weltweite Community unterstützt Anwender und erstellt bis heute regelmäßig Erweiterungen und neue Versionen für das Open-Source-Datenbankprojekt.

Wie funktioniert PostgreSQL?

PostgreSQL basiert wie die meisten relationalen Datenbanken auf einem Client-Server-Modell. Ein Serverprozess verwaltet die Datenbankdateien sowie die Verbindungen, die von Client-Programmen zum Server aufgebaut werden und bearbeitet die Anfragen, die von diesen Client-Programmen gestellt wurden. Diese Aufgaben werden bei PostgreSQL von einem „postmaster“ genannten Serverprogramm erledigt. Für die Kommunikation mit dem postmaster können verschiedene Client-Programme eingesetzt werden. Mit der PostgreSQL Distribution wird bereits ein als „psql“ bezeichneter schneller, aber einfach zu bedienender Datenbank-Monitor mitgeliefert. In den meisten PostgreSQL Linux-Distributionen ist mit „pgAccess“ ein grafischer Client enthalten, der auch auf Windows Plattformen genutzt werden kann. Bei interaktiven Webseiten übernimmt in der Regel der Webserver die Rolle des Client.

Mehr zum Thema:
Darauf kommt es bei der Datensicherung an

Typisch für das Client-Server-Modell ist die verteilte Architektur. Client und Server müssen nicht auf demselben dedizierten oder virtuellen Server installiert werden. Bei getrennter Installation kommunizieren Client und Server über eine TCP/IP Verbindung. Ein Vorteil ist, dass der PostgreSQL Server viele parallele Verbindungen verwalten kann. Jedes Mal, wenn sich ein Client mit dem Server verbindet, startet der „postmaster“ einen neuen Prozess, der dann die Client-Server-Kommunikation übernimmt.

Worin unterscheiden sich PostgreSQL und MySQL?

Zwischen beiden Datenbank-Managementsystemen gibt es zahlreiche Entsprechungen aber auch Unterschiede. Beide Systeme sind SQL konform. Wobei PostgreSQL eine höhere Konformität mit den SQL-Spezifikationen aufweist als MySQL. Postgre SQL und MySQL basieren auf Tabellen, ähnlich einer Excel Tabelle, in deren Felder Daten gespeichert werden können. In einer relationalen Datenbank wie MySQL werden üblicherweise nur alphanumerische Daten zum Beispiel Produktbezeichnungen, Orte, Postleitzahlen oder Straßennamen gespeichert. MySQL ist weitverbreitet bei webbasierten Projekten, die eine Datenbank für einfache Datentransaktionen benötigen.

PostgreSQL ist eine objektrelationale Datenbank, bei der die Prinzipien einer relationalen Datenbank auf die Speicherung und Organisation beliebiger Daten ausgeweitet wurden. PostgreSQL ermöglicht die Speicherung von Datenobjekten und Operationen mit einer deutlich höheren Komplexität als MySQL. Beispiele für komplexe Daten, bei denen relationale Datenbanken schnell an ihre Grenzen stoßen, sind Bild- und Textdateien, geografische Karten, Audio- und Videodateien. Aufgrund der Möglichkeit, komplexe Daten speichern und miteinander verknüpfen zu können, ist PostgreSQL prädestiniert für große Systemen, wo hohe Lese- und Schreibgeschwindigkeiten gefordert werden, komplexe Abfragen beantwortet und Daten validiert werden müssen.

Keine Begrenzung bei der Datenbankgröße

Die Größe einer PostgreSQL Datenbank ist theoretisch unbegrenzt. In der Praxis wird die Größe der Datenbank wahrscheinlich eher durch die Speicherkapazität des dedizierten oder virtuellen Servers beschränkt als durch die Grenzen von PostgreSQL. Eine einzelne PostgreSQL Tabelle kann bis zu 32 Tera-Byte groß werden. Diese Tabelle kann wiederum unbegrenzt viele Datensätze enthalten, die jeweils bis zu maximal 1,6 TB groß sein können. Lediglich die Anzahl der Spalten ist, je nachdem, welche Datentypen verwendet werden, auf 250 – 1600 begrenzt. Jedes Feld einer Spalte kann bis zu 1 Gigabyte Daten aufnehmen und für jede Tabelle könne unbegrenzt viele Indizes definiert werden.

Die Anwendung gilt heute als das mit Abstand fehlerfreiste und stabilste Open Source Datenbanksystem. Es wird unter anderem von der Deutschen Telekom, verschiedenen Sparkassen Verbänden, den Verwaltungen verschiedener Schweizer Kantone sowie Skype eingesetzt.

Mehr zum Thema:
Was ist ein Remote Desktop Manager?
Letzte Artikel von Daniel Faust (Alle anzeigen)