Inwieweit Postgres als Cloud-DB taugt – darüber sprach das Linux-Magazin mit Marc Linster, CTO der Firma EDB, die verspricht das Beste aus der Welt der Datenbanken und der Cloud zusammenzubringen.
Linux Magazin: In der heutigen Zeit kommen immer mehr Anwendungen in Mode, die aus Microservices bestehen, die ihrerseits in Containern laufen. Wie lässt sich EnterpriseDB in ein solches Szenario integrieren?
Marc Linster: Viele unserer Kunden nutzen Microservices-Architekturen mit Postgres. Wir empfehlen die Verwendung eines Verbindungspoolers wie pgPool, um die Verbindungen der Anwendungsinstanzen zu bündeln und zu verwalten. Dies hilft, einen konsistenten Pool von Datenbankverbindungen zu schaffen, der die Nutzung der Ressourcen optimiert und eine Überlastung der Datenbank vermeidet. Wir beobachten auch ein schnell wachsendes Interesse an der Verwendung von Kubernetes zur Bereitstellung und Verwaltung von Datenbanken. Zu diesem Zweck bieten wir CloudNativePG und EDB Postgres for Kubernetes an. CloudNativePG ist ein Open-Source-Kubernetes-Operator unter der Apache-2-Lizenz. EDB Postgres für Kubernetes baut auf der Open-Source-Version auf und fügt zusätzliche Unternehmensfunktionen hinzu.
Linux Magazin: Wenn ich es richtig verstehe, dann beherrschen jedenfalls die eben genannten Produkte kein horizontales Skalieren?
Marc Linster: Postgres unterstützt derzeit horizontale Leseskalierung. Mit CloudNativePG und EDB Postgres für Kubernetes ist es sehr einfach, Verbindungspools mit Lese- und Schreibzugriff zu verwalten und die Vorteile der horizontalen Leseskalierung zu nutzen – eine Option, die für Websites und andere Lösungen sehr beliebt ist, bei denen die Suchvorgänge die Transaktionen zum Erstellen, Aktualisieren und Löschen überwiegen.
Linux-Magazin: Es gibt für PostgreSQL etliche proprietäre Cloud-Angebote etwa für die Google Cloud, Microsofts Azure oder AWS. Wie steht es denn um eine Open-Source-Lösung für PostgreSQL in OpenStack? Dort hat Red Hat das Datenbankmodul Trove aus seiner OpenStack Platform 10 wieder entfernt – und ohnehin bezog sich dessen Dokumentation nur auf MySQL…
Marc Linster: Postgres unterstützt OpenStack, und wir haben Kunden, die Postgres als Teil ihrer OpenStack-Implementierung einsetzen. Trove hat versucht, eine neutrale universelle Schnittstelle für mehrere SQL-Datenbanken bereitzustellen, angefangen mit MySQL. Der Erfolg von Postgres bei Entwicklern (siehe Stackoverflow-Umfrage 2022) zeigt, dass die Community Postgres als ihre bevorzugte Lösung angenommen hat. Postgres ist Open Source, hat eine freie Lizenz, läuft überall und wird von einer großen und lebendigen Community unterstützt. Eine Trove-ähnliche Schicht, die eine Herstellerbindung vermeiden und Portabilität sicherstellen sollte, ist also nicht mehr wirklich notwendig.
Linux-Magazin: Containerisierte Anwendungen skalieren meistens in die Breite, starten bei Bedarf also mehr Instanzen desselben Service. Das ist bei einer klassischen SQL-Datenbank, die für den Betrieb auf einem einzelnen Server ausgelegt ist, nicht möglich. Welchen Ausweg bietet EnterpriseDB da?
Marc Linster: EDB Postgres Distributed (PGD), früher bekannt als BDR (für bi-direktionale Replikation), wird bereits von Kunden in Multi-Master-Lösungen eingesetzt, bei denen mehrere Datenbankinstanzen aktiv an einer verteilten Transaktionsmanagementlösung teilnehmen (z. B. Clickup). Zukünftige Pläne für Postgres Distributed beinhalten automatische Skalierung und volle horizontale Skalierbarkeit für Postgres.
Linux-Magazin: Das heißt, die ist Basis in diesem Fall eine Multi-Master-Replikation. Andere Projekte – für PostgreSQL beispielsweise YugabyteDB oder Vitess für MySQL – ziehen stattdessen eine Ebene unterhalb des SQL-Layers ein, die per Sharding und mithilfe einer eigenen Storage-Engine die Daten über viele Instanzen verteilt. Verwenden Sie da einen anderen Ansatz und warum?
Marc Linster: EDB Postgres Distributed wurde nicht ausschließlich als horizontale Skalierungsschicht entwickelt, wie dies bei einigen anderen Technologien der Fall war. Das Hauptproblem bei der horizontalen Skalierung besteht darin, wie sie an mehreren Standorten Hochverfügbarkeit ermöglichen kann. EDB konzentrierte sich auf die Fähigkeit, standortverteilte Datenbankoperationen durchzuführen, und nicht nur auf die einfache Skalierung für einen Standort ohne Hochverfügbarkeit. EDB Postgres Distributed bietet die Bausteine für eine Reihe von verteilten Datenbankarchitekturen mit mehreren Knoten: extrem Hochverfügbarkeit über mehrere Standorte, global verteilte Multi-Master-Systeme, Skalierung über Verteilungsbäume und horizontale Skalierung. Zukünftige Versionen von EDB Postgres Distributed werden diese Fähigkeiten nutzen, um extreme Hochverfügbarkeit an mehreren Standorten mit horizontaler Skalierbarkeit für Read-Write-Transaktionen zu kombinieren.
Linux-Magazin: Oracle propagiert sogenannte autonome Datenbanken als neueste Entwicklung, bei der Cloud-Technologie und maschinelles Lernen verwendet werden, um Datenbankoptimierung, Sicherheit, Sicherungen, Aktualisierungen und andere routinemäßige Managementaufgaben zu automatisieren. PostgreSQL sieht sich in vielen Fällen als günstiges Austauschprodukt für Oracle, was hat es in dieser Hinsicht entgegenzusetzen?
Marc Linster: Das Flaggschiffprodukt von EDB, EDB Postgres Advanced Server (EPAS), enthält einen Index Advisor, der Datenbankadministratoren und Entwickler bei der Optimierung von Abfragen unterstützt. Das kommende Release von EPAS 15 wird eine fortgeschrittene automatische Tuning-Technologie enthalten, die die Postgres-Konfiguration automatisch an die Rechen- und Speicherkonfiguration anpasst.
Linux-Magazin: Läuft die Datenbank in der Cloud liegen auch die – möglicherweise sensiblen – Daten auf Servern außerhalb des unmittelbaren Einflussbereichs des Anwenders. Welche Möglichkeiten des Datenschutzes, zum Beispiel durch Verschlüsselung, bietet EnterpriseDB?
Marc Linster: PostgreSQL und EPAS bieten traditionell mehrere Verteidigungslinien, um Daten vor unberechtigtem Zugriff zu schützen. Dazu gehören die Verschlüsselung während der Übertragung, Authentifizierung, Autorisierung und rollenbasierte Zugriffskontrolle. EPAS 15 (Release im Q1 2023) wird Funktionen zur transparenten Datenverschlüsselung (Transparent Data Encryption, TDE) enthalten. So werden Funktionen wie erweiterte Audits und eine SQL-Firewall, die bereits seit vielen Jahren in EPAS enthalten sind, unterstützt. TDE wird es Datenbankadministratoren ermöglichen, Daten so zu verschlüsseln, dass der Cloud-Anbieter (oder Hosting-Anbieter) keinen Zugriff auf die Daten hat. Das ist ein seit langem geäußerter Wunsch von Kunden aus dem Finanzsektor und anderen Branchen mit hohen Sicherheits- und Complianceansprüchen. TDE stellt für Postgres einen großen Schritt nach vorn dar.
Linux-Magazin: Gerade in einer Cloud-Umgebung muss sehr viel Wert auf die Sicherheit gelegt werden. Welchen Schutz gewährt EnterpriseDB gegen Hacker-Angriffe?
Marc Linster: Der verwaltete Cloud-Dienst BigAnimal von EDB hat für die Sicherheit ein Modell der geteilten Verantwortung eingeführt. Das BigAnimal-Team ist für die Verschlüsselung der Daten im Ruhezustand und bei der Übertragung sowohl für den Datenverkehr innerhalb des Clusters als auch zwischen den Clustern und dem Backup-Speicher verantwortlich. Die Kunden sind für die Verschlüsselung der Daten im Transit verantwortlich (BigAnimal unterstützt branchenübliche Verschlüsselung im Transit, setzte sie aber nicht durch). BigAnimal lässt sich in Authentifizierungs- und Single-Sign-On-Lösungen auf Unternehmensebene integrieren und bietet so einen umfassenden Schutz vor Eindringlingen und Hackern.
Linux-Magazin: Wir danken für das Gespräch.
Der Beitrag Taugt Postgres als Cloud-DB? erschien zuerst auf Linux-Magazin.