Instaclustr

Datenbank-Check: 6 Eigenschaften von PostgreSQL

von - 02.08.2022
Foto: postgresql.org
PostgreSQL erfreut sich internationaler Beliebtheit, und auch in Deutschland steigen die Nutzerzahlen der Open-Source-Datenbank. Auf welche sechs Eigenschaften von PostgreSQL potenzielle Nutzer achten sollten, hat Managed-Platform-Anbieter Instaclustr zusammengefasst.
PostgreSQL ist ein 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 stark gewachsen; hinzu kommt eine überaus aktive Community. Instaclustr stellt 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.
2. 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.
3. Beliebige Erweiterbarkeit
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.
4. 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.
5. 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.
6. 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.
Verwandte Themen