JNT Visual - Fotolia
Was ist der Unterschied zwischen DBMS und RDBMS?
Ein relationales Datenbankmanagementsystem ist die beliebteste Datenbankart für Business-Anwendungen. Erfahren Sie, wie sich RDBMS- von DBMS-Technologien unterscheiden.
Datenbanken speichern Datensätze über Produkte, Kunden, Aufträge und andere Facetten des Geschäftsbetriebs. Sie werden eingesetzt für die Transaktionsverarbeitung oder für Business-Intelligence- und Analytics-Anwendungen.
Ein Datenbankmanagementsystem (DBMS) ist eine Software, die die Entwicklung, Administration und Nutzung von Datenbanken unterstützt. DBMS ist der Oberbegriff für verschiedene Arten von Datenbankmanagementtechnologien, die in den letzten 50 Jahren entwickelt wurden.
Ein relationales Datenbankmanagementsystem (RDBMS) ist eine bestimmte Ausprägung eines DBMS. Die relationale Technologie wurde in den 1970er Jahren entwickelt und dominierte in den folgenden Jahrzehnten die Datenbanktechnologie. Seine typischen Merkmale sind eine zeilenbasierte Tabellenstruktur, die zusammengehörige Datenelemente miteinander verbindet, und die Unterstützung der Structured Query Language (SQL), einer Programmiersprache zur Verwaltung relationaler Datenbanken und zum Abrufen von Daten aus den Tabellen.
Lassen Sie uns in diesem Beitrag einen genaueren Blick auf den Unterschied zwischen DBMS- und RDBMS-Technologien werfen. Wir konzentrieren uns auf einige allgemeine Merkmale von DBMS und spezifische Attribute von RDBMS, die zeigen, wie sich RDBMS von anderen Arten von DBMS-Software unterscheiden.
Was ist ein DBMS?
Das DBMS-Universum umfasst weit mehr als nur RDBMS. Die ersten DBMS-Technologien, die in den 1960er Jahren entstanden, unterstützten hierarchische Datenbanken. In hierarchischen Datenbanken sind die Daten in einer baumartigen Struktur mit Eltern-Kind-Beziehungen organisiert. Jeder Datensatz hat dabei einen Vorgänger – mit Ausnahme des Datensatzes, der die Wurzel des Baums bildet. Der große Nachteil dieses Modells ist, dass es sehr starr ist und dem Entwickler wenig Freiheit bietet.
Netzwerkdatenbanken ähneln den hierarchischen Datenbanken, ermöglichten es aber, Beziehungen zwischen Datenelementen in verschiedenen Eltern-Kind-Gruppierungen abzubilden. Ein Datensatz kann hier mehrere Vorgänger haben. Außerdem können auch mehrere Datensätze an erster Stelle stehen.
Zu den heute noch verfügbaren Produkten dieser Art von Datenbanken gehören das Information Management System von IBM, besser bekannt unter dem Akronym IMS, und das Integrated Data Management System. Letzteres gehört heute zu CA Technologies (mittlerweile von Broadcom akquiriert) und wird unter dem Namen CA IDMS mit einem zusätzlichen relationalen Frontend-Framework vertrieben.
Weitere DBMS-Kategorien sind objektorientierte Datenbanken, die Daten als Objekte im Sinne der Objektorientierung behandeln. Ein weiterer Datenbanktyp sind spaltenorientierte Datenbanken, die ihre Inhalte spaltenweise – und nicht wie RDBMS zeilenweise – abspeichern. Das hat Vorteile für Anwendungen wie einem Data Warehouse, wo Aggregate über große Zahlen ähnlicher Elemente gebildet werden.
Mehr- oder Multidimensionale Datenbanken wurden speziell zur Unterstützung von analytischen Abfragen entwickelt. Sie strukturieren die Daten in Würfelform (Cubes) und beschreiben verschiedene Dimensionen der Daten. Die Vorteile einer mehrdimensionalen Datenbank liegen vor allem in der intuitiven Benutzeroberfläche sowie kurzen und stabilen Antwortzeiten.
In den letzten Jahren haben sich vor allem DBMS-Technologien unter dem Label NoSQL durchgesetzt. Sie werden vor allem bei Big-Data-Anwendungen mit unstrukturierten oder semistrukturierten Daten eingesetzt. Unstrukturierte Daten sind zum Beispiel freie Texte, wie sie im Social-Media-Umfeld vorkommen.
Bei NoSQL-Software gibt es vier Hauptklassen, deren Gemeinsamkeit die Unterstützung flexibler Datenbankschemata ist: Schlüssel-Werte-Datenbank (Key-Value Stores), Dokumentdatenbanken (dokumentenorientierte Datenbanken), Graphdatenbanken und Wide Column Stores. Zu den bekanntesten NoSQL-DBMS-Produkten gehören MongoDB, Cassandra, Amazon DynamoDB, MarkLogic, Neo4j, Redis und HBase.
Die allgemeinen Konzepte des Datenbankmanagements unterscheiden sich in den verschiedenen DBMS-Kategorien – einschließlich der RDBMS-Plattformen – wenig. Generell kann man sagen: Ein DBMS befindet sich zwischen Datenbanken und den Anwendungen und den mit ihnen verbundenen Endbenutzern sowie den Datenbankadministratoren (DBA), die die Datenbanken überwachen und verwalten.
Über Abfragen und Befehle, die im DBMS verarbeitet werden, können Endanwender auf Daten zugreifen, sie hinzufügen, löschen oder aktualisieren. DBAs passen die Leistung des DBMS an, ändern Datenbankstrukturen und verwalten Sicherungs- und Wiederherstellungsprozesse.
Was ist ein RDBMS?
Relationale Datenbanksoftware nutzt das zentrale Konzept der Normalisierung und die Einschränkungen von Primär- und Fremdschlüsseln, um Beziehungen zwischen Datenzeilen in verschiedenen Datenbanktabellen herzustellen. Primärschlüssel sind eindeutige Identifikatoren für die Zeilen einer Tabelle. Beispielsweise könnte die Kundennummer der Primärschlüssel in einer Tabelle mit Daten über die Kunden eines Unternehmens sein. Fremdschlüssel verweisen auf Primärschlüssel in anderen Tabellen.
Primär- und Fremdschlüssel sind in RDMBS zentrale Konzepte zur Optimierung der Datenbanken. Mit der Möglichkeit, zusammengehörige Datenwerte über Schlüssel zu verknüpfen, entfällt die Notwendigkeit, Daten in mehreren Tabellen zu speichern. Dies reduziert die Datenredundanz, was wiederum den Speicherbedarf senkt, die Datenbankwartung optimiert und eine schnellere Abfrage in RDBMS-Umgebungen erlaubt.
Das relationale Modell wurde erstmals vom IBM-Forscher E.F. Codd in einem 1970 veröffentlichten Fachartikel definiert. Oracle veröffentlichte das erste kommerzielle RDBMS 1979, als das Unternehmen noch Relational Software hieß. Andere Anbieter entwickelten bald Konkurrenzprodukte. SQL, ebenfalls bei IBM entwickelt, wurde als gemeinsame Programmiersprache für relationale Datenbanken übernommen und 1986 standardisiert. Allerdings bieten RDBMS-Hersteller heute immer noch Versionen mit proprietären Erweiterungen für Abfrage und Datenmanipulation an.
Der Aufstieg der RDBMS begann in den 1980er Jahren, als das Client-Server-Modell in Unternehmen Einzug hielt. Relationale Systeme dominierten dann bis Mitte der 90er Jahre den DBMS-Markt.
Zu den führenden RDBMS-Produkten gehören aktuell Oracle Database, Microsoft SQL Server, IBM DB2 und MySQL, eine Open-Source-Datenbankplattform, die heute zu Oracle gehört. Weitere nennenswert RDBMS-Systeme sind SAP HANA und PostgreSQL, eine weitere Open-Source-Technologie.
Worin unterscheiden sich RDBMS und DBMS-Plattformen?
Die zeilenbasierte Tabellenstruktur in relationalen Datenbanken ist der wesentliche Unterschied zwischen DBMS- und RDBMS-Architekturen. Die letztgenannte Kategorie fällt damit nicht in die breite DBMS-Klassifikation. Andere Arten von DBMS speichern Daten nicht in der gleichen Art von Tabellen und folgen auch nicht den Datenmodellierungskonzepten, die in den relationalen Ansatz integriert sind.
Ein weiterer Unterschied ist die Unterstützung der relationalen Technologie für referentielle Integrität und andere Integritätsprüfungen. Sie sorgen dafür, dass die Daten stimmig bleiben und verhindern, dass inkonsistente Informationen in Datenbanktabellen aufgenommen werden. Diese Forderung wird mit den ACID-Eigenschaften verlangt: Atomicity, Consisteny, Isolation und Durability – zu Deutsch: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit (AKID). Diese Eigenschaften sollen sicherstellen, dass Datenbanktransaktionen zuverlässig verarbeitet werden und gelten als Voraussetzung für die Verlässlichkeit von Datenbanksystemen.
Andere Arten von DBMS-Software bieten nicht das gleiche Maß an transaktionaler Integrität. Beispielsweise garantieren viele NoSQL-Datenbanken nur eine abgeschwächte Form der ACID-Konformität, die so genannte Eventual Consistency. Das ist aber nicht universell. Einige NoSQL-Anbieter haben nun eine stärkere ACID-Unterstützung in ihre Software integriert.
Während RDBMS-Konzepte und -Funktionen eine zuverlässige, stabile und relativ robuste Verarbeitung von strukturierten Transaktionsdaten unterstützen, hat die relationale Technologie einige spezifische Einschränkungen. Dazu gehört insbesondere die Forderung, dass Datenbanken immer auf einem starren Schema basieren müssen, das für DBAs schwer zu modifizieren ist.
Im Vergleich dazu ermöglichen die flexiblen Datenbankschemata – ein gemeinsames Attribut von NoSQL-Plattformen – die Aufnahme von Daten in verschiedenen Formaten in einer einzigen Datenbank. Diese Flexibilität hat dazu beigetragen, dass sich NoSQL-Software in Big-Data-Umgebungen verbreitet hat – obwohl relationale Datenbanken immer noch im Mittelpunkt der meisten IT-Architekturen stehen.
Es gibt auch einen Unterschied zwischen DBMS- und RDBMS-Technologien bei den unterstützten Abfragesprachen. Während SQL die Standardsprache für relationale Datenbanken ist, unterstützen andere Arten von DBMS-Plattformen eine Vielzahl von Datenbanksprachen – darunter JavaScript, XQuery sowie datenbankspezifische Sprachen wie die Cassandra Query Language (CQL).
Der Unterschied ist jedoch nicht so groß. Beispielsweise hat CQL Ähnlichkeiten mit SQL. Und während der Begriff NoSQL zunächst nur bedeutete, dass er in vielen Fällen lediglich für „not only SQL“ steht, haben NoSQL-Anbieter Elemente von SQL in ihre Produkte zur Programmierung aufgenommen.