3dmentat - Fotolia

Überblick über die führenden operationalen Datenbanksysteme

Der Markt für operationale Datenbanken kann unübersichtlich sein. Kennt man seine Anforderungen, ist man aber auf einem guten Weg bei der Auswahl.

Datenbank-Management-Systeme (DBMS) sind ein zentraler Bestandteil der modernen IT-Infrastruktur. Sie unterstützen die Speicherung, Nutzung und Verarbeitung von Daten für eine Vielzahl von Anwendungen.

Operationale Datenbank-Management-Systeme werden verwendet, um die Daten für moderne Anwendungen temporär vorzuhalten und so Transaktionen und andere Arten von Interaktionen für Business-Anforderungen auf Enterprise-Level zu ermöglichen.

Seit mehreren Jahrzehnten wird der Markt von den drei großen Anbietern für relationalen Datenbank-Management-Systeme (RDBMS) dominiert: Oracle, IBM und Microsoft. Die aktuelle Marktdynamik hat allerdings zu einem Umbruch geführt, der einen umfangreicheren Wettbewerb in Gang brachte.

Dennoch sind die relationalen Datenbanken der drei großen Anbieter immer noch führend. Sie machen prozentual gesehen den größten Umsatz aus und verfügen über die breiteste Installationsbasis auf dem Markt. Doch die Marktführer werden von neuen und bestehenden Konkurrenten, aber auch relationalen und nicht-relationalen Mitbewerbern herausgefordert.

Da Organisationen inzwischen auf breiter Basis die digitale Transformation mit mobilen und Cloud-fähigen Anwendungen in Angriff nehmen, sind sie mit unterschiedlichen Arten von Datenanforderungen konfrontiert, die von den führenden Anbietern relationaler DBMS-Produkte nicht optimal unterstützt werden. Damit konnten NoSQL- und In-Memory-Datenbank-Management-Systeme Marktanteile gewinnen. Darüber hinaus hat die aktuelle Entwicklung die Marktführer dazu veranlasst, ihre Angebote zur Unterstützung zusätzlicher Datenmodelle und Engines zu verbessern.

Angesichts der schwindelerregenden Zahl konkurrierender operationaler DBMS-Produkte kann es schwierig sein, ein konkretes System auszuwählen und die Applikationsanforderungen mit einem operationalen DBMS in Übereinstimmung zu bringen – vor allem bei so vielen Möglichkeiten: derzeit gibt es laut DB-Engines-Ranking mehr als 250 Produkte. Dieser Beitrag gibt einen Überblick über die führenden operationalen Datenbank-Management-Systeme auf dem Markt, und soll helfen, das passende System zu wählen.

Aerospike

Aerospike ist eine Open Source In-Memory NoSQL-Datenbank. Der Key-Value-Datenspeicher verspricht hohe Leistung und schnellen Datenzugriff für Echtzeit Big-Data-Anwendungen.

Das NoSQL DBMS punktet mit einer einfachen Umgebung und einem Setup für Entwickler, die skalierbare Anwendungen mit minimaler administrativer Arbeit bauen und ausführen möchten. Aerospike kann aber auch zum Zwischenspeichern von Daten, zur Speicherung von Sitzungsinformationen oder für die Personalisierung von Visits auf Webportalen und mobilen Anwendungen eingesetzt werden.

Aerospike ist mit einer Open Source oder mit einer kommerziellen Lizenz verfügbar. Die kommerzielle Edition verfügt über weitere Features sowie technische Unterstützung, die in der Open-Source-Edition nicht enthalten sind. Aerospike läuft unter Linux. Support steht für viele verschiedene Linux-Distributionen bereit, einschließlich vorgefertigter Binaries für Red Hat, Ubuntu, CentOS und Debian.

Amazon DynamoDB

Der Amazon DynamoDB NoSQL Database as a Service (DBaaS) unterstützt sowohl Dokument- als auch Schlüssel-Wert-Speichermodelle. Der Service erlaubt die flexible Entwicklung unterschiedlicher Anwendungen wie Web-, Gaming- oder IoT-Applikationen. Die wichtigste Motivation für die Entwicklung von Amazon DynamoDB war, eine möglichst hohe Leistung für Anwendungen aller Größenordnungen bei gleichzeitig geringer Latenz anzubieten.

Mit Amazon DynamoDB sind typische administrative Datenbank-Management-Aufgaben nicht mehr notwendig. Dazu gehören etwa die Hardware- und Softwarebereitstellung, das Setup und die Konfiguration, das Einspielen von Patches und Upgrades, der Betrieb eines verteilten Datenbank-Clusters oder die Partitionierung von Daten über mehrere Instanzen.

Dies alles entfällt bei dem serviceorientierten DynamoDB. Auch Datenbankserver oder Schemata sind nicht mehr notwendig. Die Kernkomponenten von DynamoDB sind Tabellen, Items und Attribute. Das höchste Objekt in DynamoDB ist die Tabelle – allerding keine traditionelle relationale Tabelle, sondern eine Tabelle, die aus beliebig vielen Elementen bestehen kann. Alle Daten werden auf Solid-State Drives (SSD) gespeichert und über verschiedene Verfügbarkeitszonen repliziert. Auf diese Weise liefert der Service Redundanz und Fehlertoleranz.

Apache Cassandra/DataStax

Apache Cassandra ist ein Open-Source-basiertes und verteiltes Schlüssel-Wert NoSQL DBMS. Das System wurde ursprünglich bei Facebook entwickelt und später der Community als Open-Source-Projekt zur Verfügung gestellt. Darüber hinaus ist von DataStax eine kostenlose Distribution von Apache Cassandra als Paket erhältlich – die DataStax Community Edition. Außerdem gibt es von DataStax eine kommerzielle Edition.

Apache Cassandra wurde für Online-Anwendungen erstellt, die eine schnelle Performance erfordern und bei denen keine Ausfallzeiten auftreten dürfen. Cassandra funktioniert optimal, wenn die meisten oder möglichst alle Datenzugriffe auf einem Primärschlüssel basieren.

Das DBMS wurde entwickelt, um große Datenmengen verwalten zu können, die auf preiswerte Commodity-Server verteilt und die ohne einen einzigen Single Point of Failure (SPoF) hochverfügbar sind. Aufgrund ihrer architektonischen Eigenschaften wird Cassandra häufig in Big-Data-Projekten eingesetzt, kann in Zusammenarbeit mit einem Applikationsserver aber auch gut für komplexe Webanwendungen verwendet werden. Apache Cassandra ist als Open-Source-Software für Linux, Windows und macOS erhältlich und kann kostenlos heruntergeladen werden.

EnterpriseDB/PostgreSQL

PostgreSQL ist ein Open-Source-RDBMS und dient als Grundlage für die EnterpriseDB (EDB) Postgres Platform. PostgreSQL wird unter den Bedingungen der PostgreSQL-Lizenz zur Verfügung gestellt. Die EDB Postgres Platform wird als Abo-Service für Produktions- und Nicht-Produktionssysteme angeboten.

Die Plattform ist Open Source und vereint mehrere Komponenten für die Verwaltung von strukturierten und unstrukturierten Daten in einem föderierten Modell. Es umfasst ein DBMS, drei voll integrierte Tool-Suiten, eine Reihe von Installationsoptionen sowie Support und Services.

Oracle-Nutzer, die nach einer weniger kostspieligen Option suchen, können die Database Compatibility Technology von EnterpriseDB für Oracle nutzen. Diese erlaubt es Benutzern, bestehende Anwendungen von Oracle auf EDB Postgres zu migrieren, wobei nur minimale Änderungen erforderlich sind.

EDB Postgres Platform kann sowohl auf physischen als auch auf virtuellen Servern eingesetzt werden, ebenso in Container-Umgebungen sowie in Public-, Private- und/oder Hybrid-Cloud-Umgebungen.

IBM DB2

IBM DB2 ist ein relationales DBMS mit starken Performance- und Verfügbarkeitsfähigkeiten. Neben dem relationalen/SQL-Kern bietet DB2 auch eine integrierte Unterstützung für eine Reihe von NoSQL-Funktionen wie XML, Graph Store und JavaScript Object Notation (JSON).

DB2 wird von Organisationen aller Größenordnungen verwendet und ist vielseitig einsetzbar: So bietet DB2 eine Datenplattform sowohl für transaktionale und analytische Operationen ebenso wie für Anwendungen, die eine ständige Verfügbarkeit von Daten erfordern, um Transaktions-Workflows und Analysen effizient zu bearbeiten.

DB2 ist für Linux, Unix und Windows (LUW) Workstations, auf IBM iSeries Midrange Computern und auf IBM Mainframes mit z/OS verfügbar. Es ist das einzige professionelle operationale DBMS mit nativem Mainframe-Support.

DB2 verfügt über starke hybride transaktionale und analytische Verarbeitungsfunktionen mit BLU-Acceleration Support zum spaltenweisen Speichern auf LUW-Plattformen. Auch ist eine enge Zusammenarbeit mit dem IBM DB2 Analytics Accelerator auf dem Mainframe möglich. Als solches eignet es sich für Organisationen, die ein einzelnes DBMS verwenden müssen, um gemischte transaktionale und analytische Workloads auszuführen.

Die Preise für IBM DB2 LUW basieren auf der Processor Value Unit (PVU). Dies ist die Maßeinheit, die IBM zur Lizenzierung seiner Software verwendet. IBM wendet die PVU-Zählung für jeden Kern eines Prozessors an. Die Preisgestaltung basiert auf der Gesamtzahl der für DB2 zur Verfügung gestellten PVUs. DB2 für z/OS wird mit dem IBM Monthly License Charge Modell lizenziert.

MarkLogic Server

Das MarkLogic Server NoSQL DBMS wurde mit dem Ziel entwickelt, die Integration heterogener Daten einfacher und schneller zu machen. Dies erfolgt durch eine Kombination verschiedener Enterprise Features.

MarkLogic Server ist ein dokumentbasiertes DBMS, das eine komplexe Suche und Abfrage über mehrere Arten von Daten ausführen kann. Dazu gehören Dokumente, Relationen und Metadaten. Das System kann Daten wie JSON, XML und das Resource Description Framework nativ bearbeiten und bietet Unternehmensfunktionen wie ACID, Transaktionen, automatisiertes Failover und Sicherheit.

Über die Such- und Abfragefunktion von MarkLogic Server können Benutzer Milliarden von Textdokumenten in Bruchteilen von Sekunden durchsuchen. Suchindizes scannen Metadaten und relationale Daten im Dokument und richten automatische Benachrichtigungen ein. MarkLogic Server gibt es in mehreren Editionen für unterschiedliche Levels von Enterprise-Funktionalitäten und Support. Für Entwickler ist außerdem eine kostenlose Edition verfügbar.

Microsoft SQL Server

Microsoft SQL Server 2016 ist ein relationales DBMS für Windows-Plattformen, das zum Erstellen, Bereitstellen und Verwalten von Anwendungen eingesetzt werden kann – und zwar sowohl im lokalen Rechenzentrum als auch in der Cloud. Microsoft SQL Server 2016 bietet Analytics-, In-Memory- und Sicherheitsfunktionen.

Organisationen, die ihre relationalen Datenbanken auch in der Cloud nutzen möchten, können von der Stretch-Database-Funktion profitieren. Mit dieser lassen sich oft genutzte Daten lokal vor Ort speichern und selten verwendete Daten auf Microsoft Azure. Alle Anwendungen, die die Datenbank verwenden, können auf diese Daten zugreifen – unabhängig davon, wo sie gespeichert sind.

Obwohl Microsoft SQL Server 2016 für seine starke Unterstützung und Integration mit Microsoft Windows bekannt ist, begann Microsoft, seinen SQL Server im Jahr 2016 auch unter Linux anzubieten, so dass das DBMS auch auf Nicht-Windows-Plattformen mit anderen Systemen konkurrieren kann.

SQL Server 2016 kann auf Basis der Anzahl der Benutzer und Geräte lizenziert werden, die auf SQL Server zugreifen. Alternativ ist eine Lizenzierung pro Kern möglich, was eine präzisere und konsistentere Messung der Rechenleistung erlaubt, unabhängig davon, ob SQL Server auf physischen Servern, On-Premises, virtuell oder in der Cloud eingesetzt wird.

MongoDB

MongoDB ist ein Open Source dokumentenorientiertes NoSQL DBMS. Es wurde für Anwendungen entwickelt, die auf strukturierte und unstrukturierte Daten zugreifen müssen und die ein flexibles Schema und schnell wechselnde Datenanforderungen haben. MongoDB möchte es Unternehmen erleichtern, Anwendungen mit hoher Leistung, Verfügbarkeit und Skalierbarkeit zu entwickeln und auszuführen und gleichzeitig eine Vielzahl von Datentypen zu unterstützen.

Das Dokumentendatenmodell von MongoDB ermöglicht es Entwicklern, Daten aller Strukturen einfach zu speichern und zu kombinieren, ohne den Datenzugriff oder die Indizierungsfunktionalität zu beeinträchtigen. Dies ermöglicht es Datenbank-Administratoren, das Schema dynamisch ohne Ausfallzeit zu modifizieren.

MongoDB ist sowohl als Open Source unter der GNU Affero General Public License lizenziert als auch als kommerzielles Angebot erhältlich. Die kommerzielle Edition, MongoDB Enterprise Server, ist als Teil des MongoDB Enterprise-Advanced-Abonnements verfügbar. Dieses enthält zusätzlich erweiterte Sicherheits- und Verwaltungsfunktionen, Support und On-Demand-Schulungen, die in der Open-Source-Edition nicht zur Verfügung stehen.

MySQL

MySQL ist eines der beliebtesten Open-Source-Datenbanksysteme. Das Datenbanksystem ist bekannt für seine Fähigkeit zur Unterstützung von webbasierten und Online-Publishing-Anwendungen. Darüber hinaus deckt es zusätzlich eine breite Palette von Anwendungen ab.

Da MySQL nicht die gleiche Vielfalt an Funktionen hat wie die großen drei RDBMS-Angebote – Oracle Database 12c, Microsoft SQL Server und IBM DB2 – kostet es in der Regel auch weniger und ist einfacher zu implementieren.

MySQL läuft auf den meisten Linux-, Unix- und Windows-Plattformen. Obwohl MySQL prinzipiell für eine breite Palette von Anwendungen verwendet werden kann, wird das System am häufigsten bei webbasierten Applikationen und im Online-Publishing eingesetzt. MySQL ist das M im LAMP Stack.

MySQL gehört zu Oracle. Entwickler können MySQL unter der GNU General Public License verwenden, gewinnorientierte Organisationen müssen eine kommerzielle Lizenz von Oracle kaufen, wenn sie MySQL einsetzen möchten.

Neo4j

Neo4j ist eine natives Graphdatenbanksystem. Die Software kann wertvolle Einblicke in die Beziehungen von Daten bieten – basierend auf einem Datenmodell, einer Abfragesprache und einer Storage Engine. Analog wie ein relationales Datenbanksystem auf der mathematischen Mengenlehre begründet ist, basieren graphische Datenbanksysteme auf den mathematischen Grundlagen der Graphentheorie.

Die Neo4j Graphdatenbank bietet mit ihren nativen Graph-Funktionen für Datenspeicherung und Zugriff eine hohe Leistung und Verfügbarkeit. Das System eignet sich gut für Anwendungen und Daten, bei denen die Beziehungen zwischen den Datenelementen ebenso wichtig sind wie die Daten selbst. Dazu gehören zum Beispiel Anwendungen wie Social-Media-Beziehungen, Delivery Routing und Dispatching, öffentliche Verkehrsverbindungen, Netzwerk-Topologien und Empfehlungs-Engines, wie sie auf den Websites im Online-Einzelhandel verwendet werden.

Neo4j-Daten und ihre Verbindungen werden physisch als Beziehungen gespeichert. Die Datenbank-Engine bezieht die Daten aufeinander, indem sie Pointer von einem Datenpunkt zu dem anderen Datenpunkt hinzufügt. Dies erlaubt eine schnellere Verarbeitung als relationale Joins oder das Schreiben von Joins in anderen NoSQL-Datenbanken. Die Datenrelationen werden so gespeichert und verarbeitet, wie sie vorkommen, was das System bei der Änderung von Datenbanken schnell und flexibel macht und eine agile Entwicklung ermöglicht.

Oracle Database 12c

Das RDBMS Oracle Database 12c ist der Marktführer bei Datenbanken und wurde sowohl für On-Premises- als auch für Cloud-Anwendungen entwickelt. Das System kann auf mehreren oder einzelnen Servern eingesetzt werden. Ein umfassendes Feature-Set ermöglicht es Oracle Database 12c, viele Anwendungsarten zu unterstützen, einschließlich Transaktionsverarbeitung, Business Intelligence und Content-Management-Anwendungen.

Die Multi-Tenant-Architektur von Oracle vereinfacht den Prozess der Konsolidierung von Datenbanken in der Cloud. Diese Architektur ermöglicht es Kunden auch, viele Datenbanken wie eine Einzige zu verwalten, ohne ihre Anwendungen ändern zu müssen. Ein einziger Multi-Tenant-Container kann Hunderte von Datenbanken hosten und verwalten – und reduziert damit die Kosten und vereinfacht den Administrationsaufwand.

Oracle Database 12c stellt einen In-Memory Column Store zur Verfügung, mit dem die Performance von Datenbankabfragen gesteigert wird. Bestehende Anwendungen können automatisch und transparent von der In-Memory-Verarbeitung profitieren – ohne dass irgendwelche Änderungen notwendig sind oder vorhandene Oracle-Datenbankfähigkeiten verloren gehen.

Oracle Database 12c ist in erster Linie in drei Editionen erhältlich. Dauerhafte und befristete Lizenzen basieren auf der Anzahl der genannten Benutzer und Geräte, die Zugriff auf die Software haben, oder auf der Anzahl der Prozessoren, auf denen die Datenbank ausgeführt wird.

Redis

Redis ist ein leichtgewichtiges, flexibles Open-Source-DBMS. Es bietet einen hochskalierbaren Key-Value-Store, der von mehreren Prozessen, Anwendungen oder Servern gemeinsam genutzt werden kann.

Eine Schlüssel-Wert-Datenbank ist ideal, wenn fast der gesamte Zugriff auf die Daten mit einem Schlüssel abgefragt wird. Dies ist zum Beispiel beim Nachschlagen von Produktdetails nach einer Produktnummer der Fall. Die Details können beliebige Arten von Informationen sein – und können sogar von Produkt zu Produkt variieren.

Redis wird häufig für Anwendungen mit hochverfügbaren und geringen Latenzanforderungen eingesetzt wie Gaming-, Verkauf- und Mobile-Applikationen. Die Schema-Flexibilität von Key-Value-Datenbanken wie Redis hilft Benutzern auch beim Verwalten von Benutzer- oder Produktprofilen.

Redis ist als Open-Source-Software über eine BSD-Lizenz erhältlich oder als Enterprise Edition sowohl als Redis Labs Enterprise Cluster als auch Redis Cloud.

Riak

Riak von Basho Technologies ist ein fehlertolerantes, hochverfügbares, skalierbares und verteiltes NoSQL Multi-Model-Datenbanksystem. Die Datenbank ermöglicht es Entwicklern, unstrukturierte Daten zu speichern, zu verwalten und abzusichern. Es ist so konzipiert, dass es verschiedene Arten von unstrukturierten Daten, die eine kontinuierliche Verfügbarkeit erfordern, speichern und auf diese zugreifen kann.

Riak ist eine gute Wahl bei hochskalierbaren Anwendungen, die auf große Mengen an unstrukturierten Daten zugreifen und rund um die Uhr verfügbar sein müssen. Das DBMS wurde dafür entworfen, eine schnelle Entwicklung bei gleichzeitig einfacher Bedienung zu ermöglichen. Der Schlüssel-Wert-Store erlaubt die Speicherung und den Zugriff von verschiedenen Arten unstrukturierter Daten in großem Maßstab und mit hoher Verfügbarkeit.

Allerdings sollte Riak genauer als Multi-Model-Plattform bezeichnet werden, die Schlüssel-Wert-Speicher, Objektspeicher und Suche unterstützt – alles von der gleichen Plattform.

Riak KV kann auf mehreren Servern eingesetzt werden und bietet kontinuierliche Funktionalität beim Auftreten von Hardware- und Netzwerkfehlern. Riak ist in drei Versionen erhältlich: Als Open-Source-Variante, Enterprise-Version und als Cloud-Storage.

SAP HANA

SAP HANA ist ein spaltenorientiertes In-Memory-RDBMS. HANA ist so konzipiert, dass Anwendungen sowohl eine transaktionale als auch die analytische Verarbeitung unterstützen können – auf einem einzigen System und mit einer Kopie der Daten. HANA wurde insbesondere für hohe Transaktionsraten und komplexe Abfragen entworfen.

Auf der Basis von SUSE Linux oder Red Hat Enterprise Linux ermöglicht SAP HANA Echtzeit-Analysen auf Transaktionssystemen in großem Maßstab und auf einer Vielzahl von Datentypen, einschließlich strukturierter, unstrukturierter und räumlicher Daten sowie Zeitreihen- und Streaming-Daten.

HANA bietet Funktionen, die die Entwicklung für SAP- und benutzerdefinierte Anwendungen unterstützen. SAP HANA kombiniert Datenbank-, erweiterte Analytics-, Enterprise-Informations-Management- und Applikationsserver-Funktionen, die alle In-Memory, auf einer Datenkopie und auf einer einzigen Plattform laufen.

Außerdem unterstützt SAP HANA Multi Tenancy und Data Tiering. Dies erlaubt es, Hot Data – Daten, die weniger häufig aufgerufen werden – im Umfang von mehreren Petabyte auf der Festplatte zu speichern. Außerdem bietet es eine breite Auswahl an Bereitstellungsmodellen und Partnern. SAP HANA kann lokal oder in der Cloud bereitgestellt werden. Als Hybrid-Software lässt es sich auch auf beiden Systemen einsetzen.

Welches operationale DBMS passt?

Die Produkte, die in diesem Artikel vorgestellt wurden, unterstützen alle die zentralen Fähigkeiten eines operationalen DBMS. Unterschiedliche Anwendungs- und Unternehmensanforderungen können jedoch bestimmte Features von Datenbanksystemen und Einzelprodukten wichtiger oder unwichtiger machen.

Bei der Evaluierung der Datenbanksysteme sollten vor allem Storage- und Zugriffsmechanismen, die Datenkonsistenzfähigkeiten (ACID versus BASE) und die Gesamtbetriebskosten des DBMS für seine Nutzungsdauer berücksichtigt werden.

Um unterschiedliche Anforderungen an die Anwendungen abzudecken – auch als Polyglot Persistence bezeichnet – verwenden viele Organisationen mehrere operationale Datenbank-Management-Systeme und nicht nur eins.

Am Ende liegt es an jeder Organisation, die in Frage kommenden Produkte genau zu bewerten und zu bestimmen, welche am besten deren Bedürfnissen entspricht. Diese Übersicht kann ein Ausgangspunkt und eine erste Hilfe für die Entscheidung sein, welches der operativen Datenbank-Management-Systeme für die Projektanforderungen Ihres Unternehmens am besten geeignet ist.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Kostenloser Essential Guide: In-Memory Analytics mit SAP HANA.

Pro und Contra: Native versus nicht-native Graphdatenbanken.

Datenbank-Modernisierung: aufgeschoben ist nicht aufgehoben.

Erfahren Sie mehr über Datenbanken

ComputerWeekly.de
Close