Open Source und stark erweiterbar PostgreSQL meistert alle Eventualitäten

Ein Gastbeitrag von Merlin Walter * Lesedauer: 5 min |

Anbieter zum Thema

Kaum ein Datenbankmanagementsystem ist so weit verbreitet wie PostgreSQL oder auch Postgres. Die Gründe dafür sind vielfältig – genau wie der Funktionsumfang des Open-Source-Projektes. Eine Migration birgt viele Vorteile, will aber gut geplant sein.

SQL-Datenbanken lassen sich unproblematisch hin zu PostgreSQL migrieren, Unternehmen sollten diesen Schritt trotzdem gut vorbereiten.
SQL-Datenbanken lassen sich unproblematisch hin zu PostgreSQL migrieren, Unternehmen sollten diesen Schritt trotzdem gut vorbereiten.
(Bild: Leonardo.ai)

Unternehmen und Entwickler, die sich mit dem Thema Datenbanken auseinandersetzen, stehen vor der Qual der Wahl: SQL oder NoSQL, also relationale Datenbank oder nicht.

Graphdatenbanken wie Neo4j, dokumentenorientierte Datenbanken wie MongoDB oder spaltenorientierte Datenbanksysteme wie Apache Cassandra – alles Beispiele für NoSQL-Datenbanken – spielen in speziellen Anwendungsfällen ihre großen Stärken aus. Generell gelten sie zudem als flexibler, da sie sich nicht an vorgegebene tabellarische Schemata zur Datenorganisation halten müssen.

Doch auch SQL-Datenbanken können flexibel sein, sofern sie bestimmte technologische Voraussetzungen erfüllen. Überdies bieten sie dann die Möglichkeit, komplexere Abfragen verarbeiten zu können als NoSQL-Datenbanken. Sie sind zudem dafür bekannt, konsistenter und weniger fehleranfällig zu sein – auch deswegen sind sie im Unternehmenskontext meist die erste Wahl.

Die Recherche nach einer einsteigerfreundlichen SQL-Datenbank führt nicht selten zu PostgreSQL. Die relationale Datenbank hat sich von einem kleinen Studentenprojekt zu einem der weltweit meistgenutzten Tools überhaupt entwickelt. Das liegt zum einen an ihren technologischen Eigenschaften und ihrer konzeptuellen Nähe zur ebenfalls sehr weit verbreiteten Oracle DB, zum anderen an den für Unternehmen zunehmend attraktiven Nutzungsbedingungen und der leichten Migration auf PostgreSQL.

Auf die Technologie kommt es an

Auf technischer Ebene glänzt PostgreSQL insbesondere durch seine Erweiterbarkeit. Mittlerweile gibt es um die 1000 Extensions, die das objektrelationale Datenbankmanagementsystem (ORDBMS) so vielseitig machen. Postgres, wie die Community die Datenbank auch nennt, ist dadurch für nahezu jeden Einsatzzweck nachrüstbar, falls die Standardfunktionen nicht ausreichen.

Eine sinnvolle Erweiterung ist zum Beispiel pgvector, womit sich Postgres als Vektor-Datenbank nutzen lässt. Über den sogenannten Debezium Connector können User PostgreSQL zudem mit dem Event-Streaming-Tool Apache Kafka koppeln. Auf diese Weise ist es möglich, Daten in großer Menge aus unterschiedlichsten Quellen in die Datenbank fließen zu lassen. Durch diese Extension eignet sich PostgreSQL dann insbesondere für den Einsatz in Big-Data-Architekturen.

Zu den beliebten Standardfunktionen gehören etwa die nativen Implementierungen der Indizes GiST (Generalized Search Tree) und GiN (Generalized Inderted Index), die die Volltextsuche ermöglichen, sowie Bloom-Filter für das Aufspüren von Replikationen. Was die Datenrepräsentierung angeht, unterstützt PostgreSQL sowohl JSON als auch XML.

In Sachen Datentypen wartet PostgreSQL ebenfalls mit einem großen Umfang auf: Neben Standarddatentypen wie Integern, Gleitkommazahlen oder Booleans unterstützt das Datenbanksystem auch Netzwerkadressen, geometrische Typen, Tabellentypen wie Ranges, Schlüssel-Wert-Paare via hstore und multidimensionale Arrays. Nutzer können darüber hinaus auch eigene, noch komplexere Typen definieren.

Die große Bandbreite an Möglichkeiten in Bezug auf Use Cases und unterstützte Datentypen, spiegelt sich auch im Support für Programmiersprachen wider: PostgreSQL ist durch ihre Erweiterbarkeit polyglott, das heißt das Datenbanksystem ist mit Anwendungen in Java, JavaScript, Python, Ruby, C, C#, PHP, R oder Perl kompatibel. Zudem können Entwickler in diesen Sprachen PostgreSQL auch mit neuen Funktionen ausstatten.

Postgres-Datenbanken lassen sich zudem sehr einfach in Docker-Container verpacken, inklusive aller nötigen Erweiterungen, was sie de facto systemagnostisch macht: Instanzen laufen somit sowohl in der Cloud als auch auf Linux- oder Windows-Servern sowie Desktop-Rechnern immer gleich, da Docker auf allen Betriebssystemen gleichermaßen ausführbar ist, sofern die entsprechende Docker-Runtime existiert. Trotz all dieser Features und Erweiterungsmöglichkeiten ist das ORDBMS in seiner Standardausführung mit rund 20 Megabyte sehr leichtgewichtig.

Unternehmen würden Postgres kaufen (müssen es aber nicht)

PostgreSQL ist allerdings nicht nur gut erweiterbar, sondern auch hochskalierbar und -verfügbar, sodass die Datenbank ausfallsfrei mit dem Anwendungsumfang mitwächst. Gerade in Startups, die zu Beginn ihrer Anwendungsentwicklung noch nicht überblicken können, welche Ausmaße ihre Datenbank über die Zeit annehmen wird, profitieren von dieser Eigenschaft.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Ebenfalls wichtig für das Business sind die nativ implementierten Sicherheitsfeatures wie ein robustes, Host-basiertes Authentifizierungsmodell (HBA). Der Zugriff auf die Datenbank wird bei diesem Ansatz über eine Liste zugangsberechtigter Maschinen geregelt. Standardpasswörter erlaubt PostgreSQL zudem ebensowenig wie den Zugriff auf das Internet ohne manuelles Eingreifen.

Auf diese Weise verhindert das Datenbankmanagementsystem, dass sensible Informationen aus Versehen im Web landen. Aufgrund dieser Funktionen können Unternehmen Postgres auch sehr leicht an die Compliance-Vorgaben von PCI DSS (Payment Card Industry Data Security Standard) und HIPAA (Health Insurance Portability and Accountability Act) anpassen.

Der wohl wichtigste Vorteil von PostgreSQL ist jedoch ihre Lizenzierung, denn das Datenbankmanagementsystem ist quelloffen verfügbar. Die Nutzung unterliegt der PostgreSQL-Lizenz, die mit berühmten Open-Source-Lizenzen wie der BSD-Lizenz oder der MIT-Lizenz vergleichbar ist.

Wie auch bei anderen großen Open-Source-Projekten steht hinter PostgreSQL eine riesige Community, die konstant an neuen Extensions, Bugfixes und dem nativen Funktionsumfang arbeitet. Die Kehrseite der Medaille ist allerdings, dass Unternehmen, was den Support angeht, auf sich allein gestellt sind – oder dafür auf externe Dienstleister zurückgreifen müssen.

Der Vorteil der kostenlosen Lizenzierung ist dennoch ein wichtiger Selling Point, weshalb gerade kleine und mittelständische Unternehmen immer häufiger mit dem Gedanken spielen, von ihrer proprietären relationalen Datenbank (etwa Oracle DB) auf PostgreSQL zu migrieren.

Anspruchsvolle Migration

Die Migration von proprietären SQL-Datenbanken auf PostgreSQL funktioniert durch eine hohe konzeptionelle Überschneidung zwischen ihnen unproblematisch. Dennoch sollten Unternehmen diesen Schritt nicht überhastet angehen und ordentlich planen. Gut vorbereitet gestaltet sich der Umstieg allerdings als einfach, insbesondere für die Mitarbeiter in der IT-Abteilung, die sich nicht an ein komplett neues Datenbank-Schema gewöhnen müssen.

Typische Herausforderungen, die sich im Zuge der Migration ergeben, beziehen sich zum Beispiel auf unterschiedliche Datenformate und die Architektur rund um die Datenbank selbst. Unternehmen müssen daher nicht nur sicherstellen, dass sie die Daten und das Schema korrekt migrieren, sondern auch die Anwendungen rundum wieder richtig an sie anbinden.

„Do it yourself“ ist out

Eine Datenbankmigration verursacht, je nach Umfang, initial erst einmal hohe Kosten, auch wenn Unternehmen langfristig durch den Einsatz der quelloffenen PostgreSQL viel Budget sparen. Im Business-Kontext wird sich beim Einsatz von Open Source Software allerdings unweigerlich die Frage nach dem Support stellen.

Der Fachkräftemangel und die ohnehin schon oft überlasteten IT-Abteilungen können in den seltensten Fällen das Management einer Datenbank komplett allein übernehmen, ohne ihre anderen Pflichten zu vernachlässigen. Zudem muss in vielen Fällen dieses Wissen erst einmal aufgebaut werden, was ebenfalls ein gewisses Zeitkontingent beansprucht.

Eine sinnvolle Alternative sind Managed Platforms. Sie abstrahieren die Verwaltung, indem sie Nutzern eine KI-gestützte Managementebene zur Verfügung stellen. In der grafischen Benutzeroberfläche können die Administratoren sämtliche Instanzen der Datenbank intuitiv verwalten und überwachen.

Benötigen Entwickler einen neuen Cluster reicht es, im GUI die Parameter zu hinterlegen und ihn via Knopfdruck hochzufahren. Ebenso leicht ist es möglich, Instanzen wieder herunterzufahren, wenn sie nicht mehr benötigt werden. Das Hosting der Datenbank findet in diesem Zusammenhang wahlweise on-premises oder in der Cloud statt – für die Verwaltung der Datenbank macht das keinen Unterschied.

* Über den Autor
Merlin Walter ist Staff Sales Engineer EMEA bei Instaclustr.

Bildquelle: Instaclustr

(ID:49706000)