Definition

Datenbank-Managementsystem (DBMS)

Ein Datenbank-Managementsystem (DBMS) ist eine Systemsoftware zum Erstellen und Verwalten von Datenbanken. Mit einem solchen Programm können Nutzer Daten in eine Datenbank einpflegen, um sie zu sammeln, lesen, aktualisieren und löschen.

Die am weitesten verbreitete Art von Datenmanagement-Plattform, das DBMS, dient im Wesentlichen als Schnittstelle zwischen Datenbanken und Endbenutzern oder Anwendungsprogrammen, um sicherzustellen, dass Daten konsistent organisiert und leicht zugänglich bleiben.

Was macht ein DBMS?

Das DBMS verwaltet die Daten; die Datenbank-Engine ermöglicht den Zugriff, das Sperren und Ändern von Daten; und das Datenbankschema definiert die logische Struktur der Datenbank. Diese drei grundlegenden Komponenten tragen dazu bei, Parallelität, Sicherheit, Datenintegrität und einheitliche Datenverwaltungsverfahren zu gewährleisten. Zu den typischen Aufgaben eines DBMS, gehören Änderungsverwaltung, Leistungsüberwachung und -optimierung, Sicherheit sowie Sicherung und Wiederherstellung. Die meisten Datenbankverwaltungssysteme übernehmen auch automatisierte Rollbacks und Neustarts sowie für das Protokollieren und Prüfen von Aktivitäten in Datenbanken und den darauf zugreifenden Anwendungen.

Ein DBMS bietet einen zentralen Zugang zu Informationen, auf die mehrere Benutzer von mehreren Standorten aus kontrolliert zugreifen können. Administratoren können festlegen, wer welche Daten einsehen kann und wie. Es bietet zudem viele Ansichten eines einzelnen Datenbankschemas. Endbenutzer und Software müssen nicht wissen, wo sich die Daten physisch befinden oder auf welchem ​​Speichermedium sie sich befinden, da das DBMS alle Anfragen verarbeitet.

Die verschiedenen Komponenten eines Datenbankenmanagementsystems
Abbildung 1: Ein Datenbank-Managementsystem besteht aus mehreren Komponenten.

Viele DBMS bieten außerdem logische und physische Datenunabhängigkeit. Dadurch brauchen Benutzer und Anwendungen nicht zu wissen, wo Daten gespeichert sind, oder sich über Änderungen der physischen Datenstruktur Sorgen zu machen. Solange Programme die Anwendungsprogrammierschnittstelle (API) für die Datenbank verwenden, die das DBMS bereitstellt, müssen Entwickler Programme nicht ändern, nur weil Änderungen an der Datenbank vorgenommen wurden.

In einem relationalen Datenbank-Managementsystem (RDBMS), dem am weitesten verbreiteten Typ von DBMS, ist diese API SQL, eine Standardprogrammiersprache zum Definieren, Schützen und Zugreifen auf Daten.

Was sind die Komponenten eines DBMS?

Ein DBMS ist eine hochentwickelte Systemsoftware, die aus mehreren integrierten Komponenten besteht, die eine konsistente, verwaltete Umgebung zum Erstellen, Zugreifen und Ändern von Daten in Datenbanken bilden. Diese Komponenten umfassen Folgendes:

  • Speicher-Engine. Dieses Grundelement eines DBMS übernimmt die Aufgabe des Speicherns von Daten. Das DBMS muss mit einem Dateisystem auf Betriebssystemebene (OS) verbunden sein, um Daten zu speichern. Es kann zusätzliche Komponenten verwenden, um Daten zu speichern oder mit den eigentlichen Daten auf Dateisystemebene zu kommunizieren.
  • Metadatenkatalog. Manchmal auch als Systemkatalog oder Datenbankwörterbuch bezeichnet, fungiert ein Metadatenkatalog als Repository aller erstellten Datenbankobjekte. Beim Erstellen von Datenbanken und anderer Objekte, registriert das DBMS automatisch Informationen dazu im Metadatenkatalog. Das DBMS verwendet diesen Katalog, um Benutzeranforderungen für Daten zu überprüfen, und Benutzer können den Katalog nach Informationen über die im DBMS vorhandenen Datenbankstrukturen abfragen. Der Metadatenkatalog kann Informationen zu Datenbankobjekten, Schemata, Programmen, Sicherheit, Leistung, Kommunikation und andere Umgebungsdetails zu den von ihm verwalteten Datenbanken enthalten.
  • Sprache für den Datenbankzugriff. Das DBMS muss auch eine API bereitstellen, über die Anwender mit einer Datenbankzugriffssprache auf Informationen zugreifen kann. Nutzer können Daten damit einsehen und bearbeiten, aber auch Datenbankobjekte erstellen und den Zugriff auf die Daten sichern und autorisieren. SQL ist ein Beispiel für eine solche Datenbankzugriffssprache.
  • Optimierungs-Engine. Eine Optimierungsmaschine analysiert Sprachanfragen für den Datenbankzugriff und wandelt sie in umsetzbare Befehle zum Zugreifen und Modifizieren von Daten um.
  • Sperrmanager. Diese entscheidende Komponente des DBMS verwaltet den gleichzeitigen Zugriff auf dieselben Daten. Sperren sind erforderlich, um sicherzustellen, dass nicht mehrere Benutzer gleichzeitig versuchen, dieselben Daten zu ändern.
  • Protokollmanager. Das DBMS zeichnet alle Änderungen auf, die an den vom DBMS verwalteten Daten vorgenommen wurden. Der Datensatz der Änderungen wird als Protokoll oder Log bezeichnet, und die Protokollmanagerkomponente gewährleistet, dass Protokolldatensätze effizient und genau erstellt werden. Das DBMS verwendet den Protokollmanager während des Herunterfahrens und Hochfahrens, um die Datenintegrität zu gewährleisten, und ist mit Datenbankdienstprogrammen verbunden, um Sicherungen zu erstellen und Wiederherstellungen auszuführen.
  • Datendienstprogramme. Ein DBMS bietet auch eine Reihe von Dienstprogrammen zum Verwalten und Steuern von Datenbankaktivitäten. Beispiele für Datenbank-Dienstprogramme sind Reorganisation, statistische Auswertung, Backup und Kopieren, Wiederherstellen, Integritätsprüfung, Laden von Daten, Entladen von Daten und Reparieren der Datenbank.

Beliebte Typen und Beispiele für DBMS-Technologien

Zu den beliebten Datenbankmodellen und Managementsystemen gehören:

  • Ein RDBMS lässt sich an die meisten Anwendungsfälle anpassen, aber RDBMS Tier-1-Produkte können ziemlich teuer sein.
  • Ein NoSQL-DBMS ist gut geeignet für lose definierte Datenstrukturen, die sich im Laufe der Zeit weiterentwickeln können, aber möglicherweise mehr Anwendungsbeteiligung für die Schemaverwaltung erfordern.
  • Ein In-Memory-Datenbankverwaltungssystem (IMDBMS) bietet schnellere Reaktionszeiten und bessere Leistung, kann jedoch mehr Ressourcen verbrauchen.
  • Ein Columnar Database Management System (CDBMS) eignet sich gut für Data Warehouses, die über eine große Anzahl ähnlicher Datenelemente verfügen.
  • Ein Cloud-basiertes Datenbankverwaltungssystem läuft in der Cloud, und der Cloud-Dienstanbieter ist für die Bereitstellung und Wartung des DBMS verantwortlich.

Vorteile der Verwendung eines DBMS

Einer der größten Vorteile eines DBMS besteht darin, dass Endbenutzer und Anwendungsprogrammierer gleichzeitig auf dieselben Daten zugreifen und diese verwenden können, während die Datenintegrität gewahrt bleibt. Daten sind besser geschützt und gepflegt, wenn über ein DBMS gemeinsam genutzt werden können, anstatt für jede neue Anwendung neue Iterationen der gleichen Daten zu erstellen und sie erneut abzuspeichern. Das DBMS bietet einen zentralen Datenspeicher, auf den mehrere Benutzer kontrolliert zugreifen können.

Zu den Funktionen für das Speichern und Verwalten von Daten mit einem DBMS gehört Folgendes:

  • Datenabstraktion und Unabhängigkeit;
  • Datensicherheit;
  • einen Sperrmechanismus für gleichzeitigen Zugriff;
  • ein effizienter Handler, der die Anforderungen mehrerer Anwendungen mit denselben Daten ausgleicht;
  • die Fähigkeit, sich nach Abstürzen und Fehlern schnell zu erholen;
  • starke Datenintegritätsfunktionen;
  • Protokollierung und Auditing von Aktivitäten;
  • einfacher Zugriff über eine Standard-API; und
  • einheitliche Verwaltungsverfahren für Daten.

Ein weiterer Vorteil eines DBMS ist, dass Datenbankadministratoren (DBAs) Daten logisch und strukturiert organisieren können. Ein DBMS unterstützt IT-Profis bei der Verarbeitung großer Datenmengen, da es für solche Vorgänge optimiert ist.

Ein DBMS kann auch viele Ansichten eines einzelnen Datenbankschemas bereitstellen. Eine Ansicht definiert, welche Daten der Benutzer angezeigt bekommt und wie dieser Benutzer die Daten sieht. Das DBMS fügt eine Abstraktionsebene ein, zwischen dem konzeptionellen Schema, das die logische Struktur der Datenbank definiert, und dem physischen Schema, das die Dateien, Indizes und andere physische Mechanismen beschreibt, die die Datenbank verwendet. Ein DBMS ermöglicht es Benutzern, Systeme viel einfacher zu ändern, wenn sich die Geschäftsanforderungen ändern. Ein DBA kann der Datenbank neue Datenkategorien hinzufügen, ohne das System zu stören.

Um all diese Funktionen zur Verfügung zu stellen, braucht ein Datenbank-Managementsystem jedoch einen erheblichen Overhead. Es belegt mehr Speicher und CPU als ein einfaches Dateispeichersystem, und verschiedene Arten von DBMS erfordern verschiedene Arten und Ebenen von Systemressourcen.

Nachteile von DBMS

Der vielleicht größte Nachteil sind die Kosten für Hardware, Software und Personal, die für den Betrieb eines Unternehmens-DBMS wie SQL Server, Oracle oder IBM Db2 erforderlich sind. Bei der Hardware handelt es sich normalerweise um einen High-End-Server mit einer erheblichen Menge an konfiguriertem Speicher, der mit großen Disk Arrays zum Speichern der Daten gekoppelt ist. Die Software umfasst das DBMS selbst, das meistens eher hochpreisig ist, sowie Tools zum Programmieren und Testen sowie für DBAs, um Management, Tuning und Administration zu ermöglichen.

Außerdem benötigt das Unternehmen neues Personal, das sich mit der Verwaltung von Datenbanken auskennt und Fortbildungen für bestehende Mitarbeiter. Der Umgang mit zusätzlicher Komplexität ist ein zusätzliches Problem beim Implementieren eines DBMS.

Das DBMS selbst ist eine komplexe Software; Mitarbeiter, die es einrichten sollen, brauchen tiefgreifende Spezialkenntnisse. Aber das DBMS ist mit vielen anderen IT-Komponenten wie dem Betriebssystem, Transaktionsverarbeitungssystemen, Programmiersprachen und Netzwerksoftware verbunden. Konfiguration und Optimierung eines solch komplizierten Setups können schwierig sein und zu Leistungseinbußen oder sogar Systemausfällen führen.

DBMS-Anwendungsfälle

Jede Anwendung, die eine große Datenmenge erfordert, auf die von mehreren Benutzern oder Kunden zeitgleich zugegriffen werden muss, ist ein Kandidat für die Anbindung eines Datenbank-Managementsystems. Die meisten mittleren bis großen Unternehmen können davon profitieren, da sie mehr Ansprüche an das parallele Verarbeiten und die Dateifreigabe haben und zeitgleich die notwendigen finanziellen und personellen Mittel.

Klassische Anwendungsfälle für DBMS sind:

  • Die meisten kommerziellen Fluggesellschaften verwenden solche Syteme für datenintensive Anwendungen wie die Planung von Flugplänen und das Verwalten von Flugreservierungen von Kunden. Zu den Aufgaben gehören das Speichern von Kundeninformationen, das Verfolgen von Kontotransaktionen – einschließlich Abhebungen und Einzahlungen – und das Nachvollziehen von Kreditzahlungen. Geldautomaten sind ein gutes Beispiel für ein Bankensystem, das auf ein DBMS angewiesen ist, um Aktivitäten zu verfolgen und zu verwalten.
  • Fertigungsunternehmen verlassen sich auch auf ein DBMS, um den Bestand in Lagern zu verfolgen und zu verwalten. Ein DBMS kann auch Daten für Supply-Chain-Management-Anwendungen verwalten, die den Waren- und Dienstleistungsfluss verfolgen, einschließlich der Bewegung und Lagerung von Rohstoffen, sowie Waren während und nach der Fertigung.
  • DBMS eignen sich für den Vertrieb vieler Organisation. Dies umfasst das Speichern von Produkt-, Kunden- und Verkäuferinformationen sowie das Aufzeichnen und Nachvollziehen der Verkaufshistorie.
  • Human Resources. Ein DBMS erleichtert es Unternehmen auch, Mitarbeiterinformationen in einer Personalverwaltungsanwendung zu verfolgen und zu verwalten. Dazu gehört das Verwalten von Mitarbeiterdaten wie Adressen, Telefonnummern, Gehaltsdetails, Gehaltsabrechnung und Überweisungsinformationen.

Geschichte der Datenbank-Managementsysteme

Das erste DBMS wurde in den frühen 1960er Jahren entwickelt, als Charles Bachman ein Navigations-DBMS entwickelte, das als Integrated Data Store (IDS) bekannt ist. Kurz darauf entwickelte IBM das Information Management System (IMS), ein hierarchisches DBMS für IBM-Mainframes, das auch heute noch von vielen großen Unternehmen verwendet wird.

Der nächste große Fortschritt kam 1971, als der Standard Conference/Committee on Data Systems Languages ​​(CODSYL) veröffentlicht wurde. Das Integrated Database Management System (IDMS) ist eine kommerzielle Implementierung des von CODASYL weiterentwickelten Netzwerkmodell-Datenbankansatzes.

Der DBMS-Markt hat sich für immer verändert, als das relationale Modell für Daten an Popularität gewann. Das RDBMS wurde 1970 von Edgar Codd von IBM in seinem wegweisenden Paper A Relational Model of Data for Large Shared Data Banks eingeführt und bald zum Industriestandard. Das erste RDBMS war Ingres, das an der University of California, Berkeley von einem Team unter der Leitung von Michael Stonebraker entwickelt wurde. Gleichzeitig arbeitete IBM an seinem System R-Projekt, um ein RDBMS zu entwickeln.

Später im Jahr 1979 wurde das erste erfolgreiche kommerzielle RDBMS, Oracle, veröffentlicht. Einige Jahre später folgten IBMs Db2, Sybase SQL Server und viele andere.

In den 1990er Jahren, als objektorientiertes (OO) Programmieren populär wurde, kamen mehrere OO-Datenbanksysteme auf den Markt, aber sie gewannen nie einen großen Marktanteil. Später in den 1990er Jahren wurde der Begriff NoSQL geprägt. Im Laufe des nächsten Jahrzehnts kamen unter diesem Schirm mehrere Arten neuer nicht-relationaler DBMS-Produkte – darunter Schlüssel/Wert-, Graph-, Dokument- und Wide-Column-Speicher – hinzu.

Heute wird der DBMS-Markt von RDBMS dominiert, aber NoSQL-Datenbanksysteme werden immer beliebter.

Diese Definition wurde zuletzt im August 2021 aktualisiert

Erfahren Sie mehr über Datenbanken

ComputerWeekly.de
Close