Bereits Kunde? Jetzt einloggen.
Lesezeit ca. 9 Min.

EnterpriseDB Postgres: Der Herausforderer


IT Administrator - epaper ⋅ Ausgabe 8/2020 vom 30.07.2020

In vielen Unternehmen gilt eine Art Datenbank-Oligopol: Entweder kommt Oracle oder MySQL zum Einsatz. EnterpriseDB will das mit seiner gleichnamigen PostgreSQL-Distribution ändern. EnterpriseDB Postgres erwies sich im Test als robuste relationale Datenbank mit vielen Enterprise-Features, die sich hinter Oracle & Co. keineswegs zu verstecken brauchen. Vor allem in Sachen Migration und Kompatibilität konnte uns die Plattform überzeugen und auch das Backup-Tool erhielt unsere Zustimmung.


Artikelbild für den Artikel "EnterpriseDB Postgres: Der Herausforderer" aus der Ausgabe 8/2020 von IT Administrator. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: IT Administrator, Ausgabe 8/2020

Datenbanken gehören zu den absoluten Standardanwendungen im Rechenzentrum. Kaum eine moderne Applikation kommt ohne eine ...

Weiterlesen
epaper-Einzelheft 8,99€
NEWS 14 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von IT Administrator. Alle Rechte vorbehalten.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 8/2020 von Auggie Wrens Bilder. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Auggie Wrens Bilder
Titelbild der Ausgabe 8/2020 von BitLocker öffne dich. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
BitLocker öffne dich
Titelbild der Ausgabe 8/2020 von Heißgekühlt. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Heißgekühlt
Titelbild der Ausgabe 8/2020 von Großer Gesprächskreis. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Großer Gesprächskreis
Titelbild der Ausgabe 8/2020 von Trojaner und Backdoors im Fokus. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Trojaner und Backdoors im Fokus
Titelbild der Ausgabe 8/2020 von »Datenbankadministratoren müssen effizient in die Cloud migrieren können«. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
»Datenbankadministratoren müssen effizient in die Cloud migrieren können«
Vorheriger Artikel
Praxiswissen für Administratoren: Konzentriert lernen
aus dieser Ausgabe
Nächster Artikel SpeedBase 5.0.1: Einfach griffbereit
aus dieser Ausgabe

... Datenbank im Hintergrund aus. Entsprechend verbreitet sind MySQL, Oracle & Co. Oft halten diese Begriffe sogar als Synonym her und wer "Datenbank" sagt, meint entweder MySQL (oder neuerdings MariaDB) oder Oracle. Dass es am Markt mehrere ausgesprochen zuverlässige, stabile und gute Datenbanken gibt, gerät dabei fast in Vergessenheit - sehr zum Leidwesen von PostgreSQL. Dieses hat zwar seit Jahren eine sehr loyale Geschäftskundenbasis, die großen Fische ziehen in Sachen Datenbank jedoch andere an Land.

Die Firma EnterpriseDB (EDB) verfolgt seit ihrer Gründung im Jahr 2004 nur ein übergreifendes Ziel: PostgreSQL als valide, kommerzielle Alternative zu MySQL und Oracle am Markt zu etablieren. Das Produkt, das dieses Ansinnen in die Tat umsetzen soll, firmiert unter dem Namen "EnterpriseDB Postgres" und verspricht eine Vielzahl an Features wie Replikation, automatisierte Backups und eingebaute Hochverfügbarkeit (HA). Wir haben im Test vier Aspekte genauer betrachtet. Als Erstes geht es um die basalen Aufgaben, die Administratoren von jeder Datenbank erwarten. Danach steht das Thema Hochverfügbarkeit auf dem Plan, indem wir prüfen, ob die Datenbank durchhält, wenn etwas schiefläuft, und wie es um die Replikation hin zu einem zweiten Standort steht.

Anschließend rückt das Thema Sicherheit in den Fokus. Wir haben uns angeschaut, welche Tools hierfür zur Verfügung stehen, um die Datenbank gegen Angriffe abzuhärten. Als vierten und letzten Aspekt beleuchten wir schließlich das Thema Migration. Möchte ein Unternehmen von Oracle oder MySQL auf EDB Postgres umsteigen, wird es bestehende Daten dorthin mitnehmen wollen. Wir haben getestet, wie gut der Umstieg gelingt.

Enterprise-Edition bietet Tools und Leistung

EnterpriseDB bietet die PostgreSQL-Plattform in zwei Varianten an. Die Community- Edition umfasst Support sowie ein PostgreSQL, das der offiziellen Open- Source-Version entspricht. Spannender für den Administrator ist die Enterprise- Edition, die der Hersteller mit diversen Patches und Erweiterungen ausgestattet hat. Zudem steht eine Reihe von zusätzlichen Werkzeugen bereit, auf die wir später noch im Detail eingehen. Wenn der Artikel im Folgenden nicht explizit eine Verbindung zur Community-Version herstellt, ist die Enterprise-Edition gemeint.

Neben den Bereichen Redundanz und Sicherheit hat der Hersteller auch das Thema Performance ins Auge gefasst. So bietet EDB etwa die Option, extrem große Tabellen auf Intervalbasis zu partitionieren sowie Bulkdaten mittels eines eigenen Werkzeugs zentral zu laden. Auch hat EDB Postgres ein Tool an Bord, das dem Admin das Erkennen von Performance- Flaschenhälsen erleichtert sowie Sonderfunktionen wie hierarchische Queries und einen eingebauten Ressourcenmanager. In Summe steht damit fest: Im Hinblick auf basale Datenbankfeatures leistet sich PostgreSQL in der EnterpriseDB-Variante keinen Lapsus.

Vorsicht bei der Installation

Die Installation erfolgte per RPM- oder DEB-Paket und über Paket-Repositories, die wir auf unserem System ad hoc aktivieren konnten. Die Installation geht damit nicht nur ebenso leicht von der Hand wie beim originalen PostgreSQL, das den Distributionen üblicherweise beiliegt. Sie lässt sich auch mit Werkzeugen wie Ansible automatisieren. Vorsicht ist allerdings geboten, wenn es um das Ausrollen von Konfigurationsdateien geht. EnterpriseDB Postgres nutzt für die Datenbank zwar dieselben Pfade wie das originale PostgreSQL, für jene Tools, die exklusiv in EDB Postgres zu finden sind, fehlen jedoch die entsprechenden Informationen. Will der Administrator hier auch automatisieren, kommt er nicht umhin, die Automation selbst zu bauen.

Bild 1: Per BART erstellt EnterpriseDB umfassende Datenbackups in PostgreSQL - auch im laufenden Betrieb.


Unterbrechungsfreier Betrieb gewährleistet

Wie fast jeder kritische Dienst zeigt auch eine Datenbank ihr wahres Gesicht oft erst, wenn es hoch hergeht. Weil die Daten aus der Datenbank in den meisten Applikationen das sprichwörtliche Blut in den Adern darstellen, zieht der Ausfall einer Datenbank meistens den Ausfall des gesamten Setups nach sich. Hier tut der IT-Verantwortliche daher gut daran, sich um Hochverfügbarkeit und Backup zu kümmern - und bei beiden Themen leistet EnterpriseDB Unterstützung. Erfunden hat EDB das Thema Hochverfügbarkeit für Postgres zwar nicht, doch stellt die Firma der Datenbank in ihrem Produkt einen Manager zur Seite, der sich um den Bereich HA kümmert.

PostgreSQL verfügt bereits seit mehreren Major-Releases über interne Replikation; diese adäquat einzurichten, obliegt allerdings dem Administrator. Und genau hier kommt der EDB-Replication-Manager ins Spiel. Mit diesem konnten wir PostgreSQL auf mehreren Hosts nach eigenen Vorgaben aufsetzen und die Cluster- Funktionalität sicherstellen. Dabei kümmert sich das Programm auch um Funktionen wie Fencing für den Fall, dass ein Knoten des Clusters sich asymptomatisch verhält. Die genutzte Implementierung ist dabei STONITH. Verdächtigt der zur EDB gehörende Clustermanager also einen Knoten, außer Kontrolle zu geraten und die Konsistenz des Datensatzes zu gefährden, schaltet er diesen im Extremfall per BMC-Schnittstelle aus.

Im Tandem mit dem HA-Manager werkelt bei EDB Postgres der Replikationsserver. Dieser ist für den eigentlichen Vorgang zuständig, Daten von einer PostgreSQLInstanz in eine andere so zu kopieren, dass die Datensätze identisch sind. Die Liste der Features des Replikationsservers in EDB liest sich eher beeindruckend. Asynchrone Multi-Master-Replikation gehört in der EnterpriseDB zum Lieferumfang, fehlt aber in der Open-Source-Version von PostgreSQL komplett. EDB reicht diese ebenso nach wie die Option, Daten aus anderen Datenbanken wie Oracle oder Microsoft SQL direkt zu übernehmen. Das erspart im besten Fall den zusätzlichen Erwerb von Lizenzen für die Systeme. Auch ein Knopf für Disaster Recovery ist in EDB Postgres vorhanden. Mithilfe dieser Option konnten wir im Test den gesamten Datensatz an einen anderen Standort kopieren, und zwar so, dass er dort augenblicklich einsatzbereit war.

Hilfreiches Backup-Tool

Dass Replikation und Backups nicht dasselbe sind, hat mancher Admin erst durch einen schmerzlichen Lernprozess verinnerlicht. Und in der Tat ist es gar nicht leicht, von Datenbanken konsistente Backups zu erstellen. Ein Kernaspekt für den Erfolg von MySQL war Percona Xtra- Backup, das Administratoren das lästige Erstellen von Backups ihrer MySQL-Datenbanken endlich abnahm. Zum Controller für Replikation gesellt sich in EDB Postgres deshalb das "Backup and Recovery Tool" (BART). Das Werkzeug gefiel uns im Test sehr gut - denn um die Frage, ob eine Datenbank gerade von Nutzern verwendet wird, muss der Admin sich bei der Verwendung dieses Tools nicht mehr kümmern. Das Backup enthält im Notfall zwar möglicherweise nicht mehr den letzten Commit, es ist aber auf jeden Fall konsistent. Und eben das ist der Kernfaktor bei Backups von Datenbanken. Inkrementelle Backups unterstützt BART ebenso wie klassisches Write-Ahead-Logging (WAL). Auf Wunsch legt das Tool von den Datenbanken nicht nur Backups auf der Datenbankebene an, sondern auch eine Etage tiefer auf der Blockebene.

Was BART dabei wie ins Backup packen soll, konnten wir über die GUI in einer zentralen Datenbank festlegen. Zudem ließ sich einstellen, wie lange bestimmte Back - ups behalten werden sollen. Vor allem beim Recovery waren wir beeindruckt, wie zuverlässig und schnell Backups sich wiederherstellen lassen. Wo andere Angebote sich in Dokumentationen über Befehle auf der Kommandozeile ergehen, wählten wir hier einfach das wiederherzustellende Backup und die Zieldatenbank aus.

Bild 2: Das Migration Toolkit greift dem Administrator bei der Migration von Workloads aus bestehenden Datenbanken in Richtung PostgreSQL unter die Arme.


Sicherheit vorbildlich abgedeckt

Datenbanken stehen nicht unbedingt als Erstes im Fokus, wenn es um IT-Sicherheit geht. Dass Datenbanken durchaus eine Menge zur Sicherheit eines Backups beitragen können, zeigt der Hersteller mit der EDB-Plattform gleich auf mehreren Ebenen. Bei der Ausgabe von Datenbank- Queries vermag EDB die Ausgabe dynamisch so anzupassen, dass auch die verschlüsselten Passwortwerte nicht sichtbar sind. So lässt sich vermeiden, dass Passwort- Hashes versehentlich Bestandteil von Copy-and-Paste-Meldungen werden, etwa bei der Fehlersuche. Hinzu kommt ein umfänglicher Schutz gegen SQL-Injections, wie sie zum Beispiel bei schlecht programmierter Websoftware möglich sind. Die Plattform nutzt dabei Angriffsmuster, die sie aus einer zentralen Datenbank bezieht, und verhindert im Zweifelsfall ein Query.

Auch für die Mitarbeiter aus der Compliance- Abteilung haben sich die EDBEntwickler etwas ausgedacht. Anders als das normale Postgres bietet EDB umfassende Auditing-Möglichkeiten. Somit lässt sich besser nachvollziehen, wer in der Datenbank welche Änderung wann vorgenommen hat. Selbst auf der Ebene einzelner Tabellen implementiert EDB das Thema Sicherheit durchgängig. So kann es vorkommen, dass in einer Tabelle geheime Daten mehrerer Nutzer oder gar Unternehmer stehen. Deren Compliance- Richtlinien sehen indes vor, dass Daten nur an jenen Orten gespeichert sein dürfen, auf die nur die Firma als Betreiber und das Unternehmen selbst Zugriff haben. EDB bietet deshalb "Row-Level Security": Dabei lassen sich Berechtigungen für einzelne Zeilen in Datenbanken definieren, quasi eine Art ACL pro Tabellenzeile oder -Spalte.

Obendrein kommt die Plattform mit einem eingebauten Passwortmanager, und zwar nicht für die Datenbank selbst, sondern für Benutzerkonten, die in der Datenbank in Tabellen verwaltet werden. Wer also die Liste der eigenen Nutzer in PostgreSQL verwaltet, kann das Handling der Passwörter der eigenen Nutzer PostgreSQL überlassen und braucht sich um das Thema in seiner Applikation nicht mehr zu kümmern. Die Regeln, die das PostgreSQL bei der Vergabe zu nutzen hat, lassen sich dabei per Policy im Detail festlegen.

Migration hat Hand und Fuß

EnterpriseDB richtet sich auch an Administratoren, die Oracle nutzen, mit diesem jedoch unzufrieden sind. Erstaunlich ist, dass EDB die Query-Sprache von Oracle weitestgehend beherrscht. Damit wird es de facto zum Drop-In-Replacement für Oracle, weil Admins ihre Apps für die Nutzung mit Oracle nicht umschreiben müssen. Für den vorherigen Schritt, nämlich das Übernehmen bestehender Daten aus einem Oracle in PostgreSQL, stellt EDB dem Admin obendrein einen Assistenten zur Seite. Mehr noch: Weil die Plattform das Replikationsprotokoll von Oracle sowie Microsoft SQL spricht, lässt sich eine EDBInstanz zum vollwertigen Mitglied innerhalb eines entsprechenden Datenbank- Clusters machen. Später kann diese dann die Keimzelle für einen reinen PostgreSQLCluster sein. Die Manager für Replikation und Hochverfügbarkeit erlauben diese Art des Setups jedenfalls out of the box.

Komplementär dazu legt der Hersteller seinem Produkt das "Migration Portal" und "Migration Tool" bei. Beide Werkzeuge sind für das Transponieren von Datenbankschemas verantwortlich. Es geht im Wesentlichen also darum, Informationen wie die Beschreibung der Datenbanken und ihrer Tabellen aus der einen Datenbank zu lesen und die entsprechenden Strukturen in der anderen anzulegen - und zwar mitsamt ihren Nutzdaten. Das Portal richtet sich eher an die Fans grafischer, intuitiver Schnittstellen, während das CLI auf der Kommandozeile eher Profis anspricht. Die Migration konnten wir sowohl online als auch offline mit beiden Programmen durchführen, wenngleich die Offline-Migration vom operativen Standpunkt her die ungleich angenehmere ist.

Die Migrationswerkzeuge ließen sich zudem auch mit MySQL nutzen - eine MySQL-Datenbank wird auf Wunsch also ebenfalls zu Postgres. Dabei gehen beide Programme beherzt zur Sache. Damit die Migration gerade bei größeren Datenbanken nicht ewig dauert, haben die Entwickler an verschiedenen Performanceschrauben gedreht. Dadurch bietet EDB die Option, verschiedene Teile der Daten parallel zu migrieren. Das spart wertvolle Minuten und Stunden. Insgesamt liefert EDB eine ordentliche Toolbox, um aus einer bestehenden Datenbank eine mit EDB zu machen - ein Vorhaben, das in der Gesamtheit bei der Konkurrenz schwer auffindbar ist.

Bild 3: EnterpriseDB bietet eine Trial-Version seiner Software in der AWS-Cloud an - wenige Mausklicks reichen zur Inbetriebnahme.


Kostenlos testen lohnt sich

Wer EnterpriseDB Postgres genauer auf den Zahn fühlen möchte, muss dafür nicht gleich die sprichwörtliche Katze im Sack kaufen. Denn die Firma bietet in der Amazon-Cloud gehostete Trial-Versionen des Produkts an. Entscheidet der Kunde sich schließlich für die Datenbank, kann er diese freilich auch on-premises betreiben. Zu beachten ist, dass nur compliance- konforme Daten in AWS geladen werden. Funktional ist die Trial-Variante der EnterpriseDB jedoch identisch mit der Bezahlversion. Einen realistischen Eindruck von den Fähigkeiten des Produkts bekommt der Admin also allemal.

Fazit

Es muss nicht immer Oracle zum Einsatz kommen und auch MySQL sollte in Firmen nicht unhinterfragt als Standard gelten. In Form ihrer Postgres-Plattform stellen die EDB-Entwickler anschaulich unter Beweis, dass PostgreSQL bereit für den großen Auftritt im produktiven Rechenzentrum ist. Indem das Unternehmen systematisch Funktionen mit PostgreSQL nachbaut, die Datenbankadministratoren von Oracle kennen und schätzen, legt es eine bequeme Rutsche für Umsteigewillige. Die mitgelieferten Migrationswerkzeuge erledigen den Rest. Hat der Admin sich einmal für EnterpriseDB entschieden, liefert es die typische Nomenklatur von Enterprise-Features: Hochverfügbarkeit, Replikation und Multi-Master-Modus, Backups und mehr. (jim)

EnterpriseDB Postgres

Produkt

Datenmanagementplattform basierend auf PostgreSQL.

Hersteller

EnterpriseDB www.enterprisedb.com

Preis

Das Preismodell von EnterpriseDB unterteilt sich in drei Stufen. Wer die Community-Variante von EnterpriseDB (ein PosgreSQL ohne Tools oder zusätzliche Features) nutzen möchte, zahlt pro Core pro Jahr 790 US-Dollar für technischen Support durch den Hersteller. Die Standardvariante enthält die beschriebenen zusätzlichen Werkzeuge und schlägt mit 1390 Dollar pro Core pro Jahr zu Buche. Wer Oracle-Kompatibilität braucht, greift zum Advanced-Paket: Dieses umfasst alle Funktionen des Standardpakets sowie dessen Support, hinzu kommt die Kompatibilitätsschicht zu Oracle. Hier werden 1990 Dollar pro Core pro Jahr fällig. Auf Test- und Entwicklungssetups ohne produktive Daten gewährt der Hersteller 50 Prozent Rabatt.

Systemvoraussetzungen

1-GHz-Prozessor, 2 GByte RAM und 512 MByte HDD. Für den produktiven Einsatz empfiehlt der Hersteller eine 12- oder 16- Kern-CPU mit 16 GByte RAM und einer redundanten RAID-SSD.

Technische Daten

www.it-administrator.de/downloads/ datenblaetter

So urteilt IT-Administrator

Dieses Produkt eignet sich

optimal für Firmen, die PostgreSQL bereits einsetzen und es um Enterprise-Funktionen erweitern wollen.

bedingt für Unternehmen, die auf der Suche nach einer stabilen, relationalen Datenbanklösung sind und sich noch nicht auf eine Technik festgelegt haben.

nicht für Organisationen, die aus Kompatibilitätsgründen Oracle, MySQL oder eine spezielle andere Datenbank benötigen.


Quelle: Roman Iegoshyn - 123RF