Beiträge

Warum sind Open Source Datenbankmanagementsysteme (DBMS) beliebter als kommerzielle Anbieter?

Warum sind Open Source DBMS beliebter als kommerzielle Anbieter?

Original Blogbeitrag von Simon Riggs aus dem Englischen übersetzt (mit freundlicher Genehmigung von EnterpriseDB)

Die Beliebtheit von Open-Source-Datenbankmanagementlösungen wie Postgres ist in den vergangenen Jahren enorm gestiegen. Postgres konkurriert nicht nur mit den großen kommerziellen Anbietern, vielmehr hat sie diese mittlerweile sogar überholt. Laut einer Umfrage erwarten 80 Prozent der IT-Führungskräfte eine gesteigerte Nutzung von Open-Source-Software für neue Technologien, einschließlich Ihrer DBMS. Zunehmende Migrationen von Oracle-Datenbanken und wachsende Wertschätzung für die Leistungsfähigkeit auch in Branchen, die diesen Projekten früher skeptisch gegenüberstanden, bestätigen diesen Trend. Warum? Dafür gibt es eine Vielzahl von Gründen, die alle mit den Modernisierungs-Anforderungen sowie mit der digitalen Transformation zu tun haben, die große und kleine Unternehmen umtreibt. Die wichtigere Frage lautet „Warum sollte das für Sie wichtig sein?“

Befreien Sie sich von unflexiblen Datenbankbeschränkungen

Einer der Hauptgründe für die Abkehr von kommerziellen Alt-Datenbanken ist die Einschränkung der Gestaltungsmöglichkeiten verbunden mit dem Gefühl, dass dynamische Visionen von inflexiblen Datenbanken nicht umsetzbar sind.
Diese Frustration äußert sich unterschiedlich: Vor allem aber bei dem Thema Lizenzen. Kommerzielle Datenbanklizenzen sind in erster Linie darauf ausgelegt, Unternehmen an den gewählten Lösungsanbieter zu binden. Diese Vereinbarung schränkt sowohl bei der Wahl der Tools und Lösungen, die, in die Datenbank integriert werden, als auch wie die Architektur aufgebaut wird, ein – und beeinflusst somit das Endergebnis.
Zudem können sich Unternehmen aufgrund Lizenz-Preiserhöhungen und starren Beschränkungen in ihrer Transformation und Innovationsfähigkeit beeinträchtigt fühlen.

Bei Datenbanken wie Postgres ist dies jedoch nicht der Fall. Open Source Datenbanken sind keine kommerziellen Unternehmen und haben daher keinen Anreiz Tools, die ein Unternehmen in seinen Technologie-Stack integrieren möchte, einzuschränken. Denn weder Postgres noch eine andere Open Source DBMS ist an der Kontrolle der Daten noch die daraus erzielten Vorteile interessiert. Wenn Open-Source-Datenbanken so unflexibel und kontrollierend wären, hätten sie nie das innovative Potenzial erreicht, das sie so beliebt macht.

Die Postgres-Gemeinschaft ist voll von Gründer:innen, Expert:innen, Evangelist:innen, Entwickler:innen und alltäglichen Nutzer:innen, die ständig die Grenzen dessen ausloten, was das DBMS leisten kann. Die Flexibilität der Datenbank ermöglicht jedem Mitglied der Gemeinschaft innovativ zu sein. Und jede einzelne Innovation fördert wiederum alle Mitglieder. Ganz nach dem Motto: „Eine steigende Flut hebt alle Boote.“

Nutzen Sie die Macht der Open-Source-Gemeinschaft

Man kann gar nicht genug betonen, wie wichtig der Gemeinschaftssinn für die Popularität von Open Source ist. Eines der deutlichsten Beispiele dafür ist die Unterstützung und das Fachwissen, das ein solches Netzwerk bietet.
Kommerzielle Datenbanken weisen oft darauf hin, dass sie mit wichtigen Open-Source-Lösungen wie Postgres oder Linux kompatibel sind. Das mag zwar stimmen, aber Kompatibilität bedeutet nicht automatisch, dass das Support-Team Ihres Anbieters Ihnen helfen kann, wenn Ihr integriertes Postgres ein Problem hat. Am Ende des Tages wird sich der Support eines Datenbankanbieters hauptsächlich auf die Funktionalität seiner Datenbank konzentrieren und nicht auf die Lösung, die Sie zu integrieren versuchen. Dem Gegenüber steht die Open-Source-Gemeinschaft, die immer bereit ist Ressourcen zur Verfügung zu stellen, um selbst die obskursten Fehler zu beheben, einzigartige Probleme zu erforschen und zusammenzuarbeiten, um dabei die Messlatte immer höher zu legen.
Es ist eher unwahrscheinlich, dass Sie eine so schnelle Support-Infrastruktur, wie die Open Source Gemeinschaft finden, die hinter Postgres steht. Diejenigen, die Sie bei Open Source unterstützen, sind nicht nur darauf bedacht, dass Sie Ihre Lizenzen erneuern. Nein, vielmehr verkörpern die Bedeutung des Wortes Support.

Machen Sie das Beste aus Ihren Ressourcen

Marc Linster, der CTO von EDB, hat eine Lieblingsweisheit, wenn es um Open-Source-DBMS geht: „Die Leute kommen wegen der Einsparungen, aber sie bleiben wegen der Innovation.“ Wir glauben, dass diese beiden Kernpunkte untrennbar miteinander verbunden sind.
Beginnen wir mit den Einsparungen. Einer der häufigsten Kritikpunkte an kommerziellen Datenbanken ist, dass angesichts ihrer Einschränkungen die Kosten – die bei jeder Erneuerung immer höher zu werden scheinen – die angebotenen Ergebnisse einfach nicht rechtfertigen. Sie zahlen nicht nur für Tools, die Sie nie verwenden, sondern auch für das Privileg, dass Ihnen gesagt wird, dass einige Tools, die Sie verwenden möchten, nicht zur Verfügung stehen.

Für Unternehmen, die auf Datenbanken wie Postgres zurückgreifen, steht eines oft im Vordergrund – sie sind kostenlos! Sogar Unternehmen, die sich für die Investition in spezialisierte Datenbankpartner wie EDB entscheiden, berichten oft von massiven Einsparungen im Vergleich zu ihren früheren Lizenzen. Einfach weil sie keine Ausgaben für internen Support oder Datenbankadministrationsteams tätigen müssen. Aber wie bei allen guten Investitionen geht der Wert von Open-Source-DBMS über die bloße Kostenersparnis hinaus. Jeder Dollar, den ein Unternehmen nicht für eine teure Datenbank ausgibt, die seine digitale Transformation nicht wirklich unterstützt, kann nun in Modernisierungsinitiativen fließen, die das Unternehmen in eine branchenführende Position bringt.
Jede Sekunde, die DevOps- und Architekturteams nicht mit der Navigation in, einer für Unternehmensziele ungeeigneten Infrastruktur, verbringen müssen, kann in die Innovation und Weiterentwicklung Ihrer Anwendungen investiert werden. Jede Ressource, die Ihnen vorher keinen Nutzen gebracht hat, steht jetzt zur freien Verfügung. So können Sie nicht nur konkurrieren, sondern haben auch das Potenzial, an der Spitze des Feldes zu stehen.

Digitale Innovation mit Open-Source-DBMS vorantreiben

Letztlich ist die Antwort auf die Frage, warum Open-Source-DBMS beliebter sind als kommerzielle Anbieter, ganz einfach: Weil sie sich als bessere Verbündete für Unternehmen erwiesen haben, die in Modernisierung und Weiterentwicklung investieren.
Mit ihrer Flexibilität, ihrem Innovationspotenzial, ihrer robusten Community und ihrer Kosteneffizienz übernehmen Open-Source-Datenbanken wie Postgres die Führung in einer Ära, die von der digitalen Transformation geprägt ist und alle Branchen betrifft.
Und die Antwort auf unsere zweite Frage: „Warum sollte das für Sie wichtig sein?“ In einer sich ständig weiterentwickelnden Welt ist es schon frustrierend genug, mit Trends und Entwicklungen, die Ihre Konkurrenten aufgreifen, Schritt halten zu wollen. Datenbanklösungen wie Posgtreis, verschaffen Ihnen nicht nur Flexibilität und Freiheit im Wettbewerb, sie ermöglichen in jeder Hinsicht erfolgreich zu sein.

Select * from dual in postgresql

Select * from DUAL in Postgres

For the English Version of this post  >> click here

Wann immer ein simpler Wert per SQL gesetzt oder abgefragt werden soll, wird die Pseudotabelle DUAL dafür herangezogen.

Einer der populärsten Einsatzzwecke dafür war bis Oracle Version 10 die Nutzung von Sequences in PL/SQL.
Sequences mussten in diesen Oracle Versionen immer über eine SQL-Query abgefragt werden, der folgende Code funktionierte:

select my_seq.nextval from dual;

Der folgende Code funktionierte allerdings nicht:

v_myvar := my_seq.nextval;

Die DUAL Tabelle ist eine tatsächlich existierende physische Tabelle in der Datenbank welche im SYS-Schema liegt.

Sie verfügt über eine Spalte mit der Bezeichnung „DUMMY“ welche den Datentyp VARCHAR2(1) hat.
Die Zeile hat eine Zeile mit dem Wert ‚X‘, das kann mit folgendem Statment abgefragt werden:

select * from dual;

Theoretisch kann diese Tabelle auch verändert werden.
Natürlich rät Oracle streng davon ab das zu tun da eine Fülle an unvorhersehbaren Fehlern entstehen kann und wird.

Das grundlegende Verhalten könnte auch mit einer eigenen 1-Spalten-1-Zeilen-Tabelle simuliert werden, doch der Oracle Optimizer erkennt DUAL auch als Keyword und verfährt beim Execution Plan dann entsprechend.

Wie läuft das nun in Postgres?

Wenn Sie Code von Oracle auf Postgres portieren dann werden sie feststellen, dass das Statement von oben …

select 1 from dual;

…nicht funktioniert!
Postgres kennt keine DUAL Tabelle.

Nun gibt es zwei Möglichkeiten, je nachdem was die Ausgangslage und das Ziel ist:

  1. Man legt die DUAL Tabelle in Postgres als „Dummy“-View an
  2. Man passt das Statement an

Die erste Variante ist simpel und vor allem bei größeren Portierungen empfohlen, wo mehrere dutzend oder sogar hunderte Statements angepasst werden müssten.

Die zweite Variante ist bei wenigen Statements zu empfehlen, da sie dem Postgres Standard entspricht. Das entsprechende Statement in Postgres würde dann wie folgt aussehen:

select 1

Die komplette FROM-Klausel verschwindet hier!

Postgres macht durch diese Syntax die Verwendung einer Dummy-Tabelle unnötig um einen einzelnen Wert per SQL zu setzen oder abzufragen (z.B. auch das SYSDATE).

Das ist deutlich simpler.

English Version of this article

For the English Version of this article  >> click here

Managed Services für PostgeSQL

Kennen Sie schon unsere Managed Services für PostgreSQL Datenbanken? – hier klicken>