Open-Source-Datenbank-Checkliste: Diese Eigenschaften von PostgreSQL sollten User kennen

Illustration: Absmeier, Malawi Heiko

PostgreSQL erfreut sich international großer Beliebtheit, und auch in Deutschland steigen die Nutzerzahlen der Open-Source-Datenbank. Auf welche sechs Eigenschaften von PostgreSQL sollten potenzielle Nutzer achten.

 

Die Skepsis gegenüber Open-Source-Alternativen zu proprietären Lösungen nimmt stetig ab. Viele quelloffene Projekte haben über die letzten Jahrzehnte bewiesen, dass sie keinesfalls hinter kommerziellen Produkten zurückstehen – weder bei der Sicherheit noch im Hinblick auf die Menge an Features. PostgreSQL ist das Paradebeispiel eines erfolgreichen Open-Source-Projektes: Der Funktionsumfang hat sich in seiner jahrzehntelangen Geschichte stark vergrößert und das Ökosystem rund um die Datenbank ist extrem gewachsen; hinzu kommt eine überaus aktive Community. Da PostgreSQL immer attraktiver wird, stellt Managed-Platform-Anbieter Instaclustr die sechs wichtigsten Eigenschaften der Datenbank vor.

  1. Replikation – Der User hat die Wahl

PostgreSQL bietet physische und logische Replikation. Bei ersterer schreibt die Datenbank das gesamte Dateisystem kontinuierlich auf einen zweiten Host, und zwar völlig unabhängig vom Inhalt. Vorteile dieses Verfahrens sind Einfachheit und höhere Geschwindigkeit. Bei der logischen Replikation kommt ein Publisher-Subscriber-Modell zum Einsatz, bei dem der primäre Host (Publisher) einzelne Tabellen zur Verfügung stellt, die der Admin festgelegt hat. Darauf haben beliebig viele sekundäre Hosts (Subscriber) Zugriff und können sie replizieren. Vorteil der logischen Replikation ist die hohe Flexibilität und die intelligente Auswahl der zu replizierenden Tabellen. Sie hat allerdings auch Nachteile, etwa ihre niedrige Geschwindigkeit. Zudem werden weder das Datenbankschema oder Befehle der Datendefinitionssprache (DDL) noch Sequenzdaten oder sehr große Datensammlungen (auch Large Objects genannt) repliziert.

  1. Grundlegende Sicherheits-Features

PostgreSQL setzt auf Host-basiertes Authentifizierungsmodell (HBA), das den Zugriff auf die Datenbank über eine Liste an berechtigten Maschinen regelt. Erwähnenswert ist zudem, dass PostgreSQL im Zuge einer herkömmlichen Installation keine Standardpasswörter setzt und ohne manuelles Eingreifen keine Verbindung mit dem Internet erlaubt. Nutzer laufen auf diese Weise nicht Gefahr, unbeabsichtigt Daten ins Web zu stellen. Dieses Modell bietet allerdings nur eine rudimentäre Sicherheit, denn PostgreSQL lagert tiefgreifenderes Security-Management an das Betriebssystem oder den Data-Storage-Provider aus.

  1. Beliebige Erweiterbarkeit

PostgreSQL ist einzigartig flexibel: Die Datenbank ist mit externen Tools beliebig erweiterbar und enthält von Haus aus etliche Zusatzfunktionen und Features. Nativ implementiert sind zum Beispiel GiST-, GiN- und Bloom-Indizes sowie JSON und XML. Aus externen Quellen ist es Nutzern außerdem möglich, PostgreSQL mit neuen Indextypen oder sogar Storage-Engines zu erweitern. Entwickler können alternativ auch viele Kapazitäten wie Datentypen oder Operatoren direkt in der Datenbank erstellen.

  1. Polyglossie – Praktisch alle Sprachen verfügbar

PostgreSQL verfügt nicht nur über eine hervorragende Erweiterbarkeit, auch im Hinblick auf die unterstützten Programmiersprachen ist die Datenbank einzigartig. Entwickler können interne Funktionen in praktisch jeder bekannten Coding-Sprache erstellen – darunter Java, JavaScript, Python, Ruby, C, C#, PHP, R und Perl.

  1. Hot Backups und Point-in-Time Recovery

Hot Backups sind in PostgreSQL möglich. Außerdem loggt die Datenbanklösung sämtliche Transaktionen, während sie stattfinden. Gemeinsam ermöglichen diese Funktionen sogenannte Point-in-Time Recovery, also eine Wiederherstellung der Datenbank bis zu genau dem Zeitpunkt, an der sie ausgefallen ist.

  1. Monitoring via Drittanbieter

PostgreSQL bietet zwar keine nativen Monitoring- oder Alerting-Dienste, es gibt allerdings etliche Open-Source-Tools, die diese Funktionen bereitstellen. Für das Monitoring sind etwa Graphite oder Data Dog empfehlenswert, während Prometheus, PagerDuty oder Grafana das Alerting ermöglichen.

 

»PostgreSQL ist ein sehr flexibles und stark erweiterbares Open-Source-Datenbankmanagementsystem«, betont Ralph Voelter, Manager District Sales EMEA bei Instaclustr. »Die praktisch grenzenlose Erweiterbarkeit gepaart mit der hohen Leistung und vor allem der aktiven Community machen sie zu einer der erfolgreichsten und besten Datenbanklösungen auf dem Markt. Unternehmen sollten allerdings die Komplexität des Betriebs nicht unterschätzen. Einfacher ist der Einsatz als Teil eines Managed-Platform-Szenarios, bei dem der Provider die Einstellungen und Konfigurationen übernimmt.«