vladimircaribb - Fotolia
Die verschiedenen Arten von Datenbankprodukten
Die verschiedenen Arten von Datenbanksoftware haben jeweils eigene Vor- und Nachteile sowie Einsatzmöglichkeiten, über die sich Käufer vor der Wahl eines DBMS bewusst sein sollten.
Daten sind das Lebenselixier von Unternehmen, und das Datenbankmanagementsystem (DBMS) ist das Herzstück der meisten operativen und analytischen Geschäftssysteme. Ein DBMS ist die primäre Plattform für die Verarbeitung, Speicherung und Verwaltung von Daten und deren Bereitstellung für Anwendungen und Endbenutzer. Es gibt jedoch viele verschiedene Arten von DBMS-Produkten, die jeweils ihre eigenen Stärken und Schwächen haben.
Der am weitesten verbreitete Typ ist das relationale Datenbankmanagementsystem (RDBMS). Es wurde vor mehr als 30 Jahren zur Norm für die Datenverwaltung, nachdem preiswerte Server leistungsfähig genug wurden, um die Technologie weithin praktisch und relativ erschwinglich zu machen. Relationale Datenbanken verwenden die Programmiersprache SQL und basieren auf einem Datenmodell, das transaktionale Konsistenz und Zuverlässigkeit unterstützt, so dass sie sich gut für die traditionellen strukturierten Daten eignen, die in Geschäftsanwendungen üblich sind.
Einige Unzulänglichkeiten des relationalen Modells – insbesondere seine Starrheit und Kosten – traten jedoch in der Web-Ära deutlicher zu Tage und traten mit dem Aufkommen der Big-Data-Technologien in den Vordergrund. Heute können IT-Abteilungen, die versuchen, unstrukturierte und semistrukturierte Daten oder Datensätze mit variablen Strukturen zu verarbeiten, NoSQL-Datenbanktechnologien als Alternative zu RDBMS in Betracht ziehen.
Anwendungen, die Hochgeschwindigkeitstransaktionen und schnelle Reaktionszeiten erfordern oder komplexe Analysen in Echtzeit oder nahezu in Echtzeit beinhalten, können von In-Memory-Datenbanken profitieren. NewSQL-Datenbanken, die heute oft als verteilte SQL-Datenbanken bezeichnet werden, vereinen Elemente des relationalen und des NoSQL-Ansatzes, um den Bedarf an mehr Skalierbarkeit bei SQL-Anwendungen zu decken. Es kann auch sinnvoll sein, mehrere Datenbanktechnologien für einige Verarbeitungsanforderungen zu kombinieren – und das kann in einer einzigen Plattform geschehen, wenn Sie ein Multi-Model-DBMS verwenden. Andere spezielle Datenbanksysteme sind ebenfalls verfügbar.
DBMS-Kategorien und -Technologien
Bei der Bewertung und Auswahl von DBMS steht viel auf dem Spiel. Die Wahl einer Datenbanktechnologie kann über den Erfolg oder Misserfolg Ihrer IT-Systeme und Anwendungen entscheiden. Da die Datenbanklandschaft komplex und unübersichtlich ist, ist es wichtig, die verschiedenen DBMS-Typen vollständig zu verstehen und zu wissen, wann und warum sie eingesetzt werden sollten. Das gilt sowohl für lokale DBMS-Plattformen als auch für die Cloud-Datenbanken, die Unternehmen zunehmend nutzen.
Schauen wir uns die verfügbaren Optionen genauer an, um dies zu unterstützen.
1. Relationale Datenbankmanagementsysteme (RDBMS)
Bis vor kurzem war das RDBMS die einzige Produktkategorie, die für die meisten Anwendungen in Frage kam. Der Big-Data-Trend sowie das Wachstum von Technologien wie IoT und Echtzeit-Datenstreaming haben zur Entwicklung neuer Arten von DBMS-Produkten geführt, die in bestimmten Anwendungsfällen mit relationaler Software konkurrieren können. Dennoch ist das RDBMS nach wie vor der unbestrittene Marktführer in Bezug auf Umsatz und installierte Basis.
Relationale Datenbanken, die auf der Mathematik der Mengenlehre basieren und erstmals in den späten 1970er Jahren für die kommerzielle Nutzung entwickelt wurden, bieten Datenverwaltung, -zugriff und -schutz mit angemessener Leistung für die meisten Anwendungen, seien sie operativer oder analytischer Natur.
Seit Mitte der 1990er Jahre ist relationale Software das wichtigste operative DBMS, angeführt von den Produkten der Branchenriesen: Oracle Database, Microsoft SQL Server und IBM Db2, sowie in den letzten Jahren SAP HANA. Da immer mehr Datenbank-Workloads in die Cloud verlagert werden, sind AWS und Google Cloud ebenfalls zu Faktoren auf dem RDBMS-Markt geworden, zum Teil durch das Angebot von Cloud-Versionen von MySQL, PostgreSQL und MariaDB – drei beliebte Open-Source-DBMS.
Relationale Systeme wurden auch zu den am weitesten verbreiteten DBMS-Plattformen für die Data Warehouses, die Unternehmen in den 1990er Jahren zur Unterstützung von Business-Intelligence- und Reporting-Anwendungen einzusetzen begannen. Neben Oracle, Microsoft und IBM boten auch Anbieter wie Teradata und SAP relationale Datenbanken für das Data Warehousing an. In der Cloud wurden sie durch RDBMS-Technologien wie Amazon Redshift von AWS, Google BigQuery und Snowflake ergänzt, obwohl diese Produkte zur Optimierung der Leistung analytischer Abfragen einen spaltenorientierten Speicher verwenden.
Das RDBMS ist anpassungsfähig, stabil und zuverlässig. Seine Reife wurde durch den jahrelangen Einsatz in großen und kleinen Unternehmen gestärkt. Die Unterstützung der AKID-Eigenschaften – Atomarität, Konsistenz, Isolation und Dauerhaftigkeit – ist eine der überzeugendsten Eigenschaften relationaler Datenbanken. AKID-Konformität garantiert, dass alle Transaktionen korrekt abgeschlossen werden oder dass eine Datenbank in den vorherigen Zustand zurückversetzt wird, wenn eine Transaktion fehlschlägt – eine Schlüsselfunktion, um sicherzustellen, dass die Daten immer konsistent sind.
Warum werden angesichts der umfassenden Natur von RDBMS andere Arten von Datenbanksystemen immer beliebter? Die Datenverarbeitung im Web und die Anforderungen von Big Data stellen die Fähigkeiten relationaler Datenbanken in Frage. Obwohl sie in diesen Bereichen eingesetzt werden können, können Alternativen, die flexiblere Datenbankschemata, weniger strenge Konsistenzmodelle und einen geringeren Verarbeitungsaufwand bieten, in solchen dynamischen Umgebungen von Vorteil sein. Auch die Stabilität und Zuverlässigkeit von RDBMS-Produkten hat ihren Preis: Sie sind nicht billig.
2. NoSQL-Datenbankmanagementsysteme
NoSQL-Systeme kamen Mitte der 2000er Jahre auf den Markt. Zunächst war NoSQL wörtlich zu nehmen, doch dann wurde es zu einer allgemeineren Bezeichnung für not only SQL, da viele NoSQL-Anbieter einige Aspekte der Programmiersprache übernahmen. Während das SQL-basierte RDBMS jedoch ein fest definiertes Schema erfordert, bieten NoSQL-Datenbanken den Benutzern mehr Flexibilität, da sie Schemata unterstützen, in denen die verschiedenen Entitäten nicht alle dieselben Datenelemente enthalten müssen. Für lose definierte oder unterschiedliche Datenstrukturen, die sich auch im Laufe der Zeit weiterentwickeln können, kann ein NoSQL-DBMS eine praktischere Lösung sein als ein RDBMS.
Ein weiterer Unterschied zwischen NoSQL- und relationalen DBMS besteht darin, wie die Datenkonsistenz gewährleistet wird. Die meisten NoSQL-DBMS-Produkte unterstützen eventuelle Konsistenz, das heißt, die Daten sind möglicherweise nicht immer über die Knoten einer verteilten Datenbank hinweg konsistent, aber sie sind es, wenn sie nicht aktiv aktualisiert werden. RDBMS-Plattformen bieten in der Regel verschiedene Stufen von Sperren, Konsistenz und Isolierung, die zur Implementierung von eventueller Konsistenz verwendet werden können, und einige NoSQL-Anbieter haben eine vollständige AKID-Konformität hinzugefügt. Im Allgemeinen bieten NoSQL-Systeme jedoch eine entspanntere Form der Konsistenz, die die Verarbeitung beschleunigen kann.
Aufgrund dieser Eigenschaften löst NoSQL einige der Probleme, die RDBMS-Technologien bei der Arbeit mit unstrukturierten Daten, unterschiedlichen Datensätzen und großen Mengen an Sparse-Daten haben. Daten werden als Sparse (spärlich) eingestuft, wenn nicht jedes Element in einer Datenbank ausgefüllt ist und zwischen den vorhandenen Werten viel Leerraum vorhanden ist. Denken Sie zum Beispiel an eine Matrix, die viele Nullen und nur wenige tatsächliche Werte enthält.
Bestimmte Datentypen und Anwendungsfälle können zwar von NoSQL-Software profitieren, ihre Verwendung kann jedoch den Preis haben, dass Transaktionsintegrität, flexible Indizierung und einfache Abfragen wegfallen. Erschwerend kommt hinzu, dass NoSQL selbst mehrere Arten von DBMS-Plattformen umfasst – es ist eine weit gefasste Bezeichnung für diese vier primären Produktkategorien:
- Key-Value Stores speichern Paare von eindeutigen Schlüsseln und zugehörigen Werten. Beispiele hierfür sind Aerospike, Amazon DynamoDB, Berkeley DB, Redis und Riak.
- Dokumentorientierte Datenbanken speichern Daten in dokumentenähnlichen Strukturen, die in Formaten wie JSON und XML kodiert sind. Beispiele hierfür sind Couchbase Server, CouchDB, MarkLogic Server und MongoDB.
- Wide-column Stores speichern Daten in Tabellen, die eine große Anzahl von Spalten enthalten. Beispiele hierfür sind Accumulo, Cassandra, Google Cloud Bigtable, HBase und ScyllaDB.
- Graphdatenbanken speichern Daten in Graphform, um die Verbindungen zwischen verschiedenen Datenelementen hervorzuheben. Beispiele hierfür sind AllegroGraph, Amazon Neptune, ArangoDB, Neo4j und TigerGraph.
Jeder Typ von NoSQL-DBMS eignet sich am besten für bestimmte Anwendungsfälle und hat individuelle Vor- und Nachteile, die es zu berücksichtigen gilt. Eine gründliche Technologieevaluierung erfordert eine eingehende Kenntnis der verschiedenen NoSQL-Produktkategorien sowie ein solides Verständnis der Daten- und Anwendungsanforderungen, die das gewählte DBMS unterstützen muss.
3. In-Memory-Datenbankmanagementsysteme
Zu den DBMS-Technologien gehören auch die In-Memory-Datenbankmanagementsysteme (IMDBMS). Ein IMDBMS stützt sich hauptsächlich auf den Arbeitsspeicher, um Daten zu speichern, im Gegensatz zur Verwendung von festplattenbasiertem Speicher. Dadurch sind die Daten in einer Datenbank für die Endbenutzer unmittelbarer zugänglich.
Der wichtigste Anwendungsfall für In-Memory-Datenbanken ist die Verbesserung der Leistung von Anwendungen, die einen schnellen Datendurchsatz erfordern. Da die Daten im Speicher gehalten werden, wird die E/A-Latenzzeit erheblich reduziert, da mechanische Festplattenbewegungen, Suchzeiten und die Übertragung von Daten in einen Puffer entfallen. IMDBMS-Produkte können auch den Verarbeitungsaufwand verringern, da die internen Algorithmen, die sie ausführen, in der Regel einfacher auszuführen sind und weniger CPU-Anweisungen benötigen als die in festplattenbasierten Systemen.
In-Memory-Datenbanken sind jedoch keine völlig eigenständige Produktkategorie. SAP HANA ist ein In-Memory-RDBMS, ebenso wie Technologien wie Oracle TimesTen In-Memory Database, Volt Active Data und SingleStore, während Aerospike und Redis Beispiele für In-Memory-NoSQL-DBMS sind. Darüber hinaus haben Oracle, Microsoft und IBM ihre RDBMS-Plattformen um In-Memory-Verarbeitungsfunktionen erweitert.
4. Multi-Model-Datenbankmanagementsysteme
Eine wachsende Produktkategorie sind Multi-Model-Datenbankmanagementsysteme, die mehr als eine Art von Datenmodell unterstützen. Viele NoSQL-Angebote tun dies, indem sie zum Beispiel Dokumentenorientierten- und Key-Value-Speicher kombinieren. Ebenso haben sich einige RDBMS-Plattformen weiterentwickelt, um NoSQL-Datenmodelle zu unterstützen, zum Beispiel durch Hinzufügen von Dokument- und Graphspeichern zu ihrer relationalen Kernmaschine.
5. NewSQL-Datenbankmanagementsysteme
NewSQL-Datenbanken sind eine eher informelle DBMS-Kategorie. Es handelt sich um RDBMS-Plattformen, die entwickelt wurden, um die Lücke zu NoSQL-Systemen zu schließen, indem sie verteilte Datenbanken mit AKID-konformen Funktionen für horizontale Skalierung, Echtzeitverarbeitung und andere Anforderungen an große Datenmengen unterstützen. Beispiele hierfür sind ClustrixDB, CockroachDB, Google Cloud Spanner, NuoDB, Volt Active Data und YugabyteDB. Einige Anbieter solcher Technologien verzichten inzwischen auf die Bezeichnung NewSQL und bezeichnen ihre Produkte als verteilte SQL-Datenbankmanagementsysteme.
Zu den anderen DBMS-Kategorien, die nicht so weit verbreitet sind wie die oben genannten, gehören:
- Zeitreihendatenbanken sammeln fortlaufend erzeugte Daten und speichern sie in aufeinanderfolgender Reihenfolge, um eine Analyse der zeitlichen Entwicklung der Daten zu ermöglichen.
- Suchdatenbanken sind spezialisierte Datenspeicher, die für die Unterstützung von Suchanwendungen in Unternehmen sowie für die Anwendungsüberwachung und andere Zwecke konzipiert sind.
- XML-DBMS sind auf die Unterstützung von XML-Daten ausgelegt. Die meisten RDBMS-Plattformen bieten jedoch inzwischen XML-Unterstützung, ebenso wie NoSQL-Dokumentendatenbanken.
- Ein spaltenbasiertes DBMS ist ein SQL-Datenbanksystem, das auf BI und Data Warehousing zugeschnitten ist, da es für das Lesen einiger weniger Spalten optimiert ist, die viele Zeilen auf einmal enthalten, um Abfragen zu beschleunigen. Während herkömmliche spaltenorientierte Technologien in lokalen Data Warehouses nicht so weit verbreitet waren wie relationale Datenbanken, hat die Verwendung von spaltenorientierter Speicherung in den oben erwähnten beliebten Cloud-Data-Warehouse-Plattformen ihre Verbreitung erhöht.
- Die in den 1990er Jahren beliebten objektorientierten DBMS stellen Daten als Objekte dar und wurden für die Arbeit mit objektorientierten Programmiersprachen entwickelt. Es wurden auch hybride objekt-relationale Datenbanken entwickelt, die diese beiden Ansätze miteinander kombinierten.
- Zu den prärelationalen DBMS-Produkten gehören hierarchische und Netzwerk-Datenbanksysteme, die für den Einsatz auf Großrechnern entwickelt wurden. Zwei dieser Technologien sind IBM Information Management System, besser bekannt als IMS, und IDMS, die beide noch immer erhältlich sind.
Weitere Überlegungen zur Auswahl eines Datenbankmanagementsystems
Wenn Sie die verschiedenen Arten von Datenbanktechnologien und spezifische DBMS-Produkte für eine geplante Anschaffung untersuchen, sollte ein Punkt, der ganz oben auf der Liste steht, die Unterstützung der Hardware-Plattform sein. Die heute vorherrschenden Computerumgebungen sind Linux, Windows, Unix und Mainframe. Nicht jedes DBMS wird auf jeder dieser Plattformen unterstützt.
Ein weiterer Aspekt ist die technische Unterstützung durch die DBMS-Anbieter. Software-Wartung und -Support ist eine kritische Fähigkeit – und kann erhebliche laufende Kosten verursachen. Viele DBMS-Technologien sind Open Source, insbesondere NoSQL-Technologien. Der Open-Source-Ansatz erhöht die Flexibilität und reduziert die Anfangskosten. Bei Open-Source-Software gibt es jedoch keinen Support, es sei denn, Sie erwerben ein kommerzielles Abonnement. Die Gesamtbetriebskosten können am Ende höher sein, wenn Sie die damit verbundenen Management- und Supportkosten berücksichtigen.
Sie können sich auch dafür entscheiden, den Implementierungs- und Managementaufwand zu verringern, indem Sie ein DBMS in der Cloud bereitstellen. Sie können entweder ein selbst gemanagtes System in einer Private oder Public Cloud bereitstellen oder einen gemanagten Cloud-Datenbankdienst nutzen, der von einem Cloud-Anbieter oder einem anderen Datenbankanbieter angeboten wird. Der letztgenannte Ansatz wird auch als Database as a Service (DBaaS) bezeichnet und befreit die Benutzer von der Notwendigkeit, DBMS-Produkte selbst zu installieren, zu konfigurieren und zu verwalten. Stattdessen übernimmt der Anbieter diese Aufgaben als Teil der DBaaS-Umgebung. Insgesamt verlagert sich der Einsatz von Datenbanken eindeutig in die Cloud: In einem Blog-Beitrag vom April 2022 erklärte Gartner-Analyst Merv Adrian, dass Cloud-Datenbanken im Jahr 2021 49 Prozent des weltweiten DBMS-Umsatzes ausmachten.
Wenn Ihr Unternehmen den Kauf eines DBMS in Erwägung zieht, ist es wichtig, Ihre spezifischen Anforderungen zu dokumentieren, zu bestimmen, welche DBMS-Kategorie die richtige ist, und dann die führenden Produkte in dieser Kategorie zu prüfen. Dazu sind zusätzliche Details zu den verschiedenen Arten von DBMS-Software und den Anwendungsfällen, für die jede Technologie optimiert ist, erforderlich. In der Tat gibt es viele Variablen, die bewertet werden müssen, um sicherzustellen, dass Sie bei der Beschaffung eines Datenbankmanagementsystems eine kluge Entscheidung treffen.