Datenbankmanagementsystem: Funktionen & Tipps zur Auswahl

Ein Datenbanksystem (DBS) besteht einerseits aus der Datenbasis und andererseits aus dem Datenbankmanagementsystem. Das DBMS übernimmt in diesem System die Aufgaben der Strukturierung und Organisation sowie der Kontrolle aller lesenden und schreibenden Zugriffe. Es verwaltet also die Anfragen, ohne dass die Storage-Medien, auf denen die Datensätze liegen, oder die Nutzer bekannt sein müssen.

Was ist ein Datenbankmanagementsystem?

Beim Datenbankmanagementsystem handelt es sich um eine Software, die dafür konzipiert wurde, auf einem System installiert zu werden. Das DBMS kann sich entweder auf einem Server oder einer Workstation (beispielsweise einem PC) befinden. Mit einer speziellen Datenbanksprache ermöglicht die Software die Speicherung, Abfrage und Administration der Datensätze einer Datenbank.

Eine gängige Datenbanksprache ist SQL (Structured Query Language). Nur mit dem Datenbankmanagementsystem kann eine persistente Datenspeicherung und Datenkonsistenz sichergestellt werden. Das DBMS entscheidet über die Performance sowie die Funktionalität und definiert darüber hinaus das Datenmodell.

Welche Funktionen hat ein Datenbankmanagementsystem?

Das Datenbankmanagementsystem ist die Kernkomponente der Datenbank und ermöglicht das Strukturieren und Speichern aller Datensätze mit dem Ziel, diese Informationen den Anwendern und Anwendungen in einer gewünschten Form zur Verfügung zu stellen. Das DBMS kann analog zu einem Datei-Manager beschrieben werden. Es verwaltet jedoch nicht Dateien in Dateisystemen, sondern Datenbestände im Datenbanksystem.

Das Datenbankmanagementsystem erfüllt dabei die folgenden Funktionen:

Datensätze werden gespeichert, gelöscht oder überschrieben

Metadaten der Datenbank werden verwaltet

Datensätze werden gemäß des Datenmodells organisiert

Datentypen und Attribute werden definiert

Datenbankoperationen für den Zugriff und die Suche werden bereitgestellt

Datensicherheit und -schutz werden gewährleistet

Datenintegrität wird sichergestellt

Kommunikationsschnittstellen werden für den Mehrnutzerzugriff bereitgestellt

Es erfolgt eine Optimierung für Zugriffe und Abfragen

Reports und Kennzahlen des DBMS werden bereitgestellt

Welche Komponenten hat ein Datenbankmanagementsystem?

Jedes Datenbankmanagementsystem besteht aus verschiedenen Komponenten, die dafür genutzt werden, die oben genannten Funktionen bestmöglich zu erfüllen. Anwendern und Anwendungen wird es ermöglicht, über Schnittstellen auf die Datenbasis zuzugreifen. Für den Zugriff ist meist die Kenntnis einer Datenbanksprache wie SQL erforderlich.

Somit ergeben sich folgende Komponenten eines Datenbankmanagementsystems:

Datendefinitionssprache

Datenmanipulationssprache

Datenwörterbuch

Die Struktur der Datenbank wird von der Datendefinitionssprache (Data Definition Language (DDL)) festgelegt. Sie dient der Generierung, Bearbeitung und Löschung aller Objekte innerhalb des Datenbanksystems. Zu diesen Objekten zählen Benutzerrechte, Indizes, Referenzen oder auch Relationen.

Die Datenmanipulationssprache (Data Manipulation Language (DML)) wird genutzt, um die Datensätze zu bearbeiten. Mit Hilfe der DML werden die Datensätze zunächst angelegt und später sinnvoll verändert oder eingefügt aber auch ausgelesen und schließlich gelöscht. Das Datenwörterbuch wird benötigt, um alle Informationen über die Datenbasis, die sich in der Datenbank befindet, zu speichern. Diese „Daten über die Daten“ werden auch Metadaten genannt. Die Metadaten ermöglichen Rückschlüsse über die inhaltliche Relevanz der Datensätze und die Gesamtheit aller Datensätze.

Welche Datenmodelle eines Datenbankmanagementsystems gibt es?

Es ist sehr wichtig, ein Datenmodell zu bestimmen, denn dies definiert, wie die Datensätze in den Datenbanken strukturiert werden und in welchen Beziehungen die Datensätze zueinander stehen. Ist die Entscheidung für ein bestimmtes DBMS gefallen, ist damit auch gleichzeitig das Datenmodell festgelegt.

Das Management kann zwischen verschiedenen Datenbankmanagementsystemen und den entsprechenden Datenmodellen wählen. Sehr häufig wird das relationale Datenmodell präferiert. In diesem Modell erfolgt die Verwaltung der Daten in Tabellen, wobei zeilenweise vorgegangen wird. Auf diese Weise ist es möglich, verschiedenste Beziehungen (Relationen) zwischen den Datensätzen abzubilden und dann durch Werte in den Tabellenspalten darzustellen.

Bei einem hierarchischen Datenmodell ist die Vorgehensweise eine andere. Daten können in einem solchen Modell nur in abhängigen, hierarchischen (Eltern-Kind) Beziehungen zueinander stehen. Einen dritten Weg beschreiten die netzwerkartigen Datenbankmodelle. Wie der Name vermuten lässt, werden die Datensätze in einem solchen Modell in einem Netzwerk organisiert.

Wird ein objektorientiertes Datenmodell gewählt, folgt daraus, dass die Eigenschaften und Daten der Objekte von anderen Objekten vererbt werden können. Das Datenbankmanagementsystem hat die Aufgabe, die Beziehungen und auch die Vererbungen der einzelnen Datenobjekte zu verwalten. Eine weitere Alternative sind die dokumentenorientierten Datenbankmodelle wie MongoDB, bei denen die Daten in Form von Dokumenten abgelegt werden. Dabei handelt es sich um nicht-relationale Datenmodelle. Die vorgestellten Modelle werden auch zu Mischformen kombiniert. Überwiegend werden die relationalen Datenbankmanagementsysteme (RDBMS) verwendet. Das beinhaltet außerdem die Nutzung von SQL als Standard Interface.

Sehr verbreitet ist das Datenbankmanagementsystem Microsoft Access, das sich besonders für Einzelrechner und kleinere Server eignet. Andere Systeme sind IBM DB2 sowie Database 12c von Oracle oder auch das Open Source Produkt MySQL. MySQL erfreut sich wachsender Beliebtheit. Es ist das meist gewählte Open Source System und die Basis für viele im Internet angebotene Content-Management-Systeme wie beispielsweise WordPress.

Warum werden zunehmend nicht-relationale Datenbankmanagementsysteme ausgewählt?

Das DBMS MongoDB wird zur ernsthaften Konkurrenz der Open Source Lösung MySQL. Vorteile wie die einfache Skalierbarkeit, eine hohe Flexibilität sowie die Dokumentenorientierung überzeugen immer mehr Unternehmen, MongoDB einzusetzen. Es ist jedoch vorwiegend das generelle Hinterfragen des Konzepts relationaler Datenbanken, dass die Anwender zu einem nicht-relationalen System greifen lässt. Diese neuen Systeme sind ebenfalls als Open Source Lösung verfügbar und finden auch deshalb immer mehr Befürworter.

Wie oben bereits festgestellt wurde, bestimmt die Festlegung der Datendefinitionssprache die Struktur der Datenbank. Bei den nicht-relationalen Systemen kommt entsprechend nicht SQL, sondern NoSQL zum Einsatz. Dieser Begriff bedeutet nicht, dass gar kein SQL verwendet wird. Es werden vielmehr noch weitere ergänzende Elemente eingesetzt, um die Schwachstellen relationaler Modelle zu beseitigen. Ziel war, Probleme klassischer Datenbanken im Hinblick auf Skalierbarkeit und Flexibilität zu beseitigen. In den klassischen Datenbanken werden die Datensätze in einem relativ starren, stark strukturierten Modell gespeichert. Erweiterungen und Veränderungen sind somit nur sehr schwer umsetzbar.

Die Vorteile eines nicht-relationalen Datenmodells

Die Entwicklung innovativen Systeme wie auch Business Analytics Tools wurde von der wachsenden Datenflut begünstigt. Es strömen immer mehr und dabei auch immer mehr unstrukturierte Informationen auf die Unternehmen ein. Durch Sensordaten, Cloud-Computing, Soziale Netzwerke oder das Internet of Things werden immer mehr Datensätze generiert, die sich nicht einfach und schon gar nicht starr strukturieren lassen. Datenbanken müssen deshalb steigende Anforderungen im Hinblick auf den Datendurchsatz und auch die Skalierbarkeit erfüllen. Relationale Datenbankensysteme geraten hierbei schnell an Grenzen.

Was zeichnet MongoDB besonders aus?

MongoDB gehört neben Apache Cassandra, CouchDB und Redis zu den innovativen nicht-relationalen Datenbanksystemen. Entwickelt wurde das System vom amerikanischen Startup 10gen. Seit 2009 ist es als Open Source Lösung verfügbar und wurde bei den renommierten, amerikanischen „Bossie Awards“ prämiert. Im Fokus von MongoDB steht die Möglichkeit, riesige Datenmengen mit hoher Performance, Flexibilität und Skalierbarkeit zu verarbeiten.

Der wesentliche Unterschied zu den relationalen Datenbanksystemen besteht darin, dass MongoDB die Datensätze in Form von Dokumenten und nicht in Form von Tabellen abspeichert. Damit wird eine schemafreie Struktur bevorzugt. Ohne das feste Tabellenschema muss es auch keine Relationstabellen geben. Auch auf „Joins“ kann verzichtet werden, die den entscheidenden Nachteil haben, dass sie bei einer notwendigen Erweiterung der Datenbanken immer komplizierter werden. Die Relationen werden bei MongoDB direkt im Datensatz gespeichert. Sie können auch erst bei Bedarf, also bei der Datenabfrage, erstellt werden. Resultat ist eine flexiblere Datenstruktur und eine einfache horizontale Skalierbarkeit.

Worin unterscheidet sich MongoDB von MySQL?

An die Stelle der Tabellen relationaler Systeme rücken bei MongoDB die sogenannten Kollektionen (Collections). In jeder Kollektion können Dokumente im BSON-Format abgespeichert werden. Diese sind analog zu den Zeilen oder Datensätzen einer MySQL-Datenbank zu sehen. Die Anzahl der Felder jedes Dokuments ist beliebig und auch eine verschachtelte Array-Struktur ist möglich. Es ist außerdem möglich, innerhalb eines Dokuments andere Dokumente zu speichern.

Was sind die Gemeinsamkeiten von MongoDB und MySQL?

Beide Lösungen verwenden als Primärschlüssel pro Datensatz eine eindeutige ID. Es können select-relevante Spalten zur Erhöhung der Abfrage-Performance indiziert werden. Aufgrund dieser Gemeinsamkeiten ist ein Umstieg von MySQL auf MongoDB relativ einfach möglich. Auf eine Datenabfragesprache wie SQL wird komplett verzichtet. Stattdessen stehen objektspezifische Methoden für alle gängigen Programmiersprachen zur Verfügung, mit denen die Datenabfrage und die Datenmanipulation erfolgen können.

Video: 02. Datenbanken – Grundbegriffe (Datenbanksystem, DBMS)

Welches sind die wesentlichen Vorteile von MongoDB?

Das objektorientierte Datenmodell ist für die gängigen Programmiersprachen geeigneter. Es gibt mittlerweile viele Lösungen, bei denen die Datensätze einer relationalen Datenbank in Objekten abgebildet werden. Es ist leichter, diese Objekte dann in einem Programmcode zu verarbeiten. Des Weiteren werden sämtliche JavaScript-Datentypen unterstützt. MongoDB überzeugt außerdem mit einem großen Funktionsumfang, zu dem neben der Datenverwaltung und Zugriffskontrolle auch die Orchestrierung von Diensten wie Messaging oder Authentifizierung gehören.

Einen weiteren Vorteil bieten die vorgefertigten Integrationsfunktionen, mit denen beispielsweise die Angebote von Google, Facebook, Slack, AWS und Twilio wahrgenommen werden können. Darüber hinaus werden mit einem HTTTP-Service Coud-Dienste und Microservices eingebunden. Auch das Verknüpfen mehrerer Services ist möglich. MongoDB kann auf fast allen Linux-, Windows- oder Mac-Systemen eingesetzt werden.

Welches Datenbankmanagementsystem ist zukunftsfähig?

Jahrzehntelang wurden unumstritten die relationalen Datenbanksysteme favorisiert. Aus diesem Grund ist MySQL auch immer noch die Grundlage für viele Webanwendungen. Ein exponentiell steigendes Datenvolumen, vielfältige Datenquellen und neue Anforderungen der Webprojekte verlangen jedoch nach anderen, nicht-relationalen Lösungen.

Datenbanksysteme wie MongoDB sind verteilte Datenspeichersysteme. Diese arbeiten dokumentenorientiert und werden auch als NoSQL-Systeme bezeichnet. Mit dem Verzicht auf die Abfragesprache SQL steigen die Anforderungen an die Anwendungsschicht. Auf der anderen Seite ermöglicht jedoch dieser Verzicht, die Abspeicherung des Datenbestands und der Arbeitsprozesse auf mehreren Servern zu verteilen. Das hat wiederum zur Folge, dass diese modernen Datenbankmanagementsysteme unbegrenzt skalierbar sind.

Der entscheidende Vorteil des nicht-relationalen Datenbankmanagementsystems MongoDB liegt jedoch darin, dass die dort verwendeten Dokumente nicht nach einem festen Schema aufgebaut werden. In der entsprechenden MySQL-Tabelle haben alle Zeilen zwingend den gleichen Aufbau.

Jedes einzelne MongoDB-Dokument kann individuell strukturiert sein. Auf diese Weise wird es möglich, die Datenbanksysteme jederzeit zu erweitern und einfach neue Felder mit beliebigen Werten anzulegen. Bei einem relationalen Datenbanksystem müsste zu diesem Zweck die gesamte Struktur verändert werden.

Bei MongoDB muss jeder Schlüssel zwar einzigartig sein, aber nur innerhalb eines Dokuments. Der Schlüssel kann also in beliebig vielen anderen Dokumenten ebenfalls verwendet werden. Hier haben die MySQL-Datenbanken Grenzen. Es müssen umständlich Relationen (Joins) zwischen den Tabellen hergestellt werden. Diese werden bei MongoDB relativ einfach durch die Einbettung von Dokumenten oder Referenzen erzeugt.

Auch im Hinblick auf die Datenabfrage bietet MongoDB Vorteile. Durch den Verzicht auf die Abfragesprache SQL muss die Datenverarbeitung durch eine eigene Sprache unterstützt werden. Das ermöglicht wiederum die problemlose Kommunikation zwischen MongoDB und jedem Client mit Hilfe der objektspezifischen Methoden der Programmiersprache der jeweiligen Anwendung. Dafür stehen die Libraries und Driver zur Verfügung, die der User auf der Homepage herunterladen kann. Wenn sehr komplexe Abfragen anstehen, kann darüber hinaus das Map-Reduce-Verfahren angewendet werden.

In welchen Einsatzszenarien ist MongoDB überlegen?

Bei der Umsetzung von weborientierten Projekten, bei denen die Datenmengen sehr groß und zudem unstrukturiert sind, punktet MongoDB. Dank des dokumentenbasierten Arbeitens und des Verzichts auf ein Schema ist es möglich, die unterschiedlichsten Datentypen zu speichern und performant zu verarbeiten. Die nahezu unbegrenzte horizontale Skalierbarkeit ist bei derartigen Projekten ebenfalls von Vorteil. Es ist außerdem problemlos möglich, Kopien des Datenbestands zu erstellen und auf verschiedenen Servern abzulegen. Weitere Stärken entfaltet dieses nicht-relationale Datenbankmanagementsystem bei der Zusammenfassung von Datensätzen unterschiedlicher Quellsysteme.

MongoDB ist vorteilhaft bei Projekten, die folgende Anforderungen aufweisen:

Stark wachsend, sodass die Skalierbarkeit wichtig ist

dauerhafte Verfügbarkeit gefordert, sodass selbst beim Serverausfall die Anwendung verfügbar ist

dynamisch, sodass eine flexible Anpassung gegeben sein muss

Die Verteilung des Datenbanksystems auf mehrere Server bietet einen weiteren, entscheidenden Vorteil: Nach der Datenspeicherung kann ein kurzes Zeitfenster genutzt werden, in welchem die Lesezugriffe ausschließlich den alten Datenbestand erhalten. Diese Besonderheit wird auch als „Eventual Consistency“ bezeichnet. Der Vorteil dieses Konsistenzmodells besteht darin, dass auch die Server, die vom Datenbank-Cluster getrennt sind (beispielsweise durch Netzwerkpartitionen) den Anwendungen Schreibzugriffe erlauben. Im Gegensatz dazu bietet MySQL viele bewährte Administrations-Tools und Entwicklerdokumentationen.

Wenn das Management eines Unternehmens sich für ein konkretes Datenbankmanagementsystem entscheiden muss, ist nicht immer trennscharf festlegbar, welches priorisiert werden sollte. Es ist jedoch auch möglich, für ein spezifisches Anforderungsprofil eine Kombination zu wählen und perfekt auf das Unternehmen abzustimmen.

Bildnachweis:© Shutterstock – Titelbild: Elnur – #01:Wright Studio – #02: GarryKillian2 – #03: GarryKillian2 – #04: MongoDB

Was ist ein DBMS?

Definition „Datenbankmanagementsystem“ Was ist ein DBMS?

Gemeinsam mit der Datenbasis kommt ein Datenbankmanagementsystem (kurz DBMS) zum Einsatz, um eine Datenbank zu bilden. Bei einem Datenbankmanagementsystem handelt es sich um eine Software, die den Zugriff auf die Daten überhaupt erst erlaubt.

Anbieter zum Thema OutSystems Confluent Germany GmbH

Gemeinsam mit der Datenbasis bildet das für den Zugriff verantwortliche DBMS die eigentliche Datenbank. (© bakhtiarzein -

Jedes Datenbank besteht aus zwei Bestandteilen: der Datenbasis und der Software, die den Zugriff auf die Daten erlaubt und gewährleistet. Diese Software wird als Datenbankmanagementsystem bezeichnet und ist ein essenzieller Bestandteil, um Lesen und Schreiben von Daten zu regeln, aber auch die Organisation und Struktur der Datenbasis zu gewährleisten.

Wie genau funktioniert ein Datenbankmanagementsystem?

Ein Datenbankmanagementsystem ist eine Software und muss als solche entweder auf einem Rechnersystem oder einem Server installiert werden. Von hier aus erhalten User dann Lese- und Schreibzugriff auf Daten oder können die Administration der Datenbank steuern.

Datenbankmanagementsysteme arbeiten in einer speziellen Datenbanksprache wie SQL (Structured Query Language) und stellen sicher, dass Daten gespeichert und gelesen werden können und dass die Datenbank konsistent bleibt. Das DBMS besteht aus unterschiedlichen Komponenten, die wichtigsten sind:

Datendefinitionssprache: Bei der DDL (Data Definition Language) handelt es sich um die Sprache, die Objekte generiert, verändert und löscht. Damit legt die Datendefinitionssprache die Struktur der Datenbank fest und erstellt Benutzerrechte, Indizes oder Beziehungen.

Datenmanipulationssprache: Die DML (Data Manipulation Language) ist die Sprache, über die die Datensätze der Datenbank bearbeitet werden. DML legt neue Datensätze an, kann diese ändern, kopieren oder löschen.

Datenwörterbuch: Das Datenwörterbuch ist eine Art Übersetzungsschlüssel, der Daten zu den Daten der Datenbank anlegt. Erst über diese Metadaten erhalten die gespeicherten Daten erst einen Sinn und eine Bedeutung.

Diese drei Komponenten und ihr Zusammenspiel regeln den fehlerfreien Ablauf der Software und gewährleisten eine interne (innerhalb des DBMS) und externe (vom DBMS zu den Daten) Funktionsfähigkeit.

Die wichtigsten Funktionen eines DBMS erklärt

Nur durch ihr Managementsystem kann eine Datenbank überhaupt verwaltet, indiziert und genutzt werden. Die Funktionen, die ein DBMS dafür erfüllen muss, werden oftmals durch das Akronym ACID zusammengefasst: Atomicity, Consistency, Isolation und Durability.

Atomarität: Atomarität oder (klarer ausgedrückt) Abgeschlossenheit ist eine Funktion, die ledigliche gültige Abfragen in einer richtigen Reihenfolge zulässt. Transaktionen mit der Datenbank können so vollumfänglich korrekt vollzogen werden.

Konsistenz: Durch ständige Überprüfung aller stattfindenden Transaktionen wird die Stabilität der Datenbank nicht gefährdet. Eine funktionierende Datenbank lässt Transaktionen zu, eine erfolgreiche Transaktion hinterlässt eine funktionierende Datenbank. Der Prozess lässt sich beliebig wiederholen.

Isolation: Verschiedene Transaktionen können sich nicht gegenseitig blockieren und die Datenbank dadurch gefährden. Durch Sperrfunktionen kann jede Transaktion von anderen Transaktionen isoliert werden.

Robustheit: Die Robustheit oder Dauerhaftigkeit regelt die dauerhafte Speicherung aller Daten nach Abschluss einer jeden erfolgreichen Transaktion. Protokollierende Logs über alle Transaktionen gewähren Robustheit auch dann, wenn es zu einem Systemabsturz oder einem -fehler kommt.

Unterschiedliche Modelle von Datenbanken

Um zu verdeutlichen, wie abhängig eine Datenbank von einem Datenbankmanagementsystem ist, genügt es, die verschiedenen Datenbankmodelle bzw. DBMS-Typen miteinander zu vergleichen.

Das derzeit gängigste Modell ist das relationale Modell, das eine Strukturierung der Datenbasis in tabellarischer Form ermöglicht. Hierbei lassen sich über die einzelnen Zeilen bestimmte Relationen zu anderen Daten herstellen. Daten können so sehr flexibel anderen Daten zugeordnet werden.

Ein hierarchisches System hingegen ordnet die Datensätze in einer Struktur von Daten an, die einer hierarchischen Pyramide entspricht. Ein Stammbaum, der Daten von Eltern zu Kindern anordnet, wäre etwa ein Beispiel für diese Form der Datenbankverwaltung.

Ein objektbasiertes Datenbankmodell kann Eigenschaften von Daten an andere Daten vererben, netzwerkorientierte Modelle können eine interne Netzwerkstruktur bilden. In dokumentbasierten Datenbankmodellen werden verschiedene Datensätze schließlich in verschiedenen Dokumenten abgelegt.

Dass all diesen unterschiedlichen Modellen die selbe Datenbasis zu Grunde liegen kann, zeigt, wie elementar die Bedeutung des Datenbankmanagementsystems für das schlussendliche Produkt ist.

Die Bedeutung des DBMS für Datenbanken

Eine Datenbasis kann in der Praxis als unstrukturierte Sammlung von Daten betrachtet werden, die nur die inhaltliche Komponente einer Datenbank darstellen.

Dies wäre in etwa so, als würden sich in einer Bibliothek alle Bücher auf einem großen unsortierten Haufen wiederfinden.

Erst durch das Datenbankmanagementsystem entstehen Regale und Ablagesysteme, über die die Bücher geordnet werden können. Hierdurch erhalten die Bücher eine Sortierung (etwa nach Kategorien und Alphabet) und Anwender*innen wissen, wonach sie suchen können und wie sie dies finden.

Erst durch die Realisierung der Struktur wird eine Datenbasis zu einer Datenbank transformiert – und genau dies wird durch ein Datenbankmanagementsystem erreicht.

Zu den gängigsten Datenbankmanagementsystemen zählen Microsoft Access, Microsoft SQL Server und MySQL (relational), OrientDB und CouchDB (dokumentbasiert) oder IMS (hierarchisch).

(ID:47723819)

DBS -ist ein System zur elektronischen Datenverwaltung.

Datenbank

Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.

Ein DBS besteht aus zwei Teilen: der Verwaltungssoftware, genannt Datenbankmanagementsystem (DBMS) und der Menge der zu verwaltenden Daten, der eigentlichen Datenbank (DB). Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem eine Datenbanksprache an.

Datenbanksysteme gibt es in verschiedenen Formen. Die Art und Weise, wie ein solches System Daten speichert und verwaltet, wird durch das Datenbankmodell festgelegt. Die bekannteste Form eines Datenbanksystems ist das Relationale Datenbanksystem.

Geschichte

Ausgehend von Problemen bei der Verarbeitung von Daten in einfachen Dateien, wurde in den 1960er Jahren das Konzept eingeführt, Daten durch eine separate Softwareschicht zwischen Betriebssystem (Dateiverwaltung) und Anwendungsprogramm zu verwalten. Dieses Konzept begegnete der Fehlentwicklung, dass Datenspeicher in Form von Dateien in der Regel für eine spezielle Anwendung konzipiert wurden und ein erheblicher Teil des Tagesgeschäfts mit Umkopieren, Mischen und Restrukturieren der Dateien belastet war.

Eines der ersten großen DBMS war IMS mit der Sprache DL/I (Data Language One). Die damit verwalteten Datenbanken waren hierarchisch strukturiert. Parallel dazu definierte CODASYL ein Modell für netzwerkartig strukturierte Datenbanken.

Einen wesentlichen Fortschritt erzielte in den 1960er und 1970er Jahren Edgar F. Codd mit seiner Forschungsarbeit am IBM Almaden Research Center. Codd entwickelte die Grundlagen des ersten experimentellen relationalen Datenbanksystems System R[1]. Die Berkeley Group folgte mit Ingres und der Abfragesprache QUEL.

Oracle (damals noch unter den Firmennamen SDL und RSI) verwertete die Ergebnisse des System R und führte SQL zum kommerziellen Erfolg. IBM folgte mit SQL/DS und DB2. Die relationalen Datenbanksysteme verdrängten in den 1980er Jahren die hierarchischen und netzwerkartigen Systeme und der Großteil der Behörden, Konzerne, Institute und mittelständischen Unternehmen stellte seine IT auf Datenbanksysteme um.

Während in den 1990er Jahren wenige kommerzielle Hersteller von Datenbank-Software faktisch den Markt beherrschten (namentlich IBM, Informix, Ashton-Tate mit dBASE, Microsoft mit SQL Server und Oracle), erlangen in den 2000ern die Open-Source-Datenbankmanagementsysteme eine immer größere Bedeutung. Vor allem MySQL und PostgreSQL erzielten signifikante Marktanteile. Als Reaktion bieten die führenden kommerziellen Hersteller gebührenfreie Versionen ihrer Datenbank-Software an.

Bedeutung

Datenbanksysteme sind heute ein zentraler Bestandteil der Unternehmenssoftware. Damit stellen sie einen kritischen Teil vieler Unternehmen und Behörden dar. Von der Verfügbarkeit, Vollständigkeit und Richtigkeit der Daten hängt die Aktionsfähigkeit eines Unternehmens ab. Die Datensicherheit ist daher ein wichtiger und gesetzlich vorgeschriebener Bestandteil der IT eines Unternehmens oder einer Behörde.

Das Datenbanksystem ist das ausgeführte DBMS zusammen mit den zu verwaltenden Daten, der Datenbank. Ein DBS gewährleistet die persistente Speicherung sowie die Konsistenz der Nutzdaten einer Institution und bietet mit dem DBMS eine Schnittstelle zur Abfrage, Manipulation und Verwaltung dieser Daten.

Das Datenbankmanagementsystem (DBMS) ist die eingesetzte Software, die für das Datenbanksystem installiert und konfiguriert wird. Das DBMS legt das Datenbankmodell fest, hat einen Großteil der unten angeführten Anforderungen zu sichern und entscheidet maßgeblich über Funktionalität und Geschwindigkeit des Systems. Datenbankmanagementsysteme selbst sind hochkomplexe Softwaresysteme.

Die Auswahl des gewünschten DBMS ist eine kritische Entscheidung.

Für Datenbankmanagementsystem wird (selten) auch der Begriff Datenbankverwaltungssystem (DBVS) verwendet.

Gängig ist die Abkürzung RDBMS für ein relationales Datenbankmanagementsystem.

In der Theorie versteht man unter Datenbank (engl. database) einen logisch zusammengehörigen Datenbestand. Dieser Datenbestand wird von einem laufenden DBMS verwaltet und für Anwendungssysteme und Benutzer unsichtbar auf nichtflüchtigen Speichermedien abgelegt. Um einen effizienten Zugriff auf die Datenbank zu gewährleisten, verwaltet das DBMS in der Regel eine Speicherhierarchie, die insbesondere auch einen schnellen Zwischenspeicher (Pufferpool) umfasst. Zur Wahrung der Konsistenz des Datenbestandes müssen sich alle Anwendungssysteme an das DBMS wenden, um die Datenbank nutzen zu können. Allein administrativen Tätigkeiten, wie zum Beispiel der Datensicherung, ist der direkte Zugriff auf den Speicher erlaubt.

Einzelne DBMS-Hersteller verwenden geringfügig voneinander abweichende Begrifflichkeiten dafür, was man genau unter einer Datenbank versteht: entweder alle Daten, die von einem laufenden DBMS bzw. der Instanz verwaltet werden, oder nur die jeweils inhaltlich zusammengehörigen Daten. Bei verteilten Datenbanken gibt es auch im Modell mehrere Datenbanken auf unterschiedlichen Systemen, die miteinander verbunden sind.

Beispiele

Alle Banken und Versicherungen arbeiten mit Datenbanksystemen, in der Regel mit den relationalen DBMS Oracle oder IBM DB2/UDB. Im Datenbanksystem sind alle Konteninformationen und Buchungen strukturiert abgelegt. In diesem Einsatzumfeld haben Datenschutz und Datensicherheit höchste Priorität. Datenbanksysteme von Banken und Versicherungen werden zum Tagesgeschäft (OLTP) und periodisch für Massendrucksachen, Analysen und ähnliches verwendet (OLAP).

Die vollständige Automatisierung von Lagerbeständen macht eine manuelle Verwaltung heute unmöglich. Der Verlust einer Lagerdatenbank kann somit das Unternehmen in sehr kurzer Zeit finanziell ruinieren, da georderte Produkte nicht ausgeliefert werden können und es Monate dauern würde, die Bestände erneut zu inventarisieren.

Faktisch alle mittelständischen Unternehmen und Großkonzerne arbeiten zur Ressourcenplanung mit ERP-Systemen, deren Datenteil in Form von Datenbanksystemen vorliegt.

Dieser Artikel in seiner in der Wikipedia vorliegenden Fassung wird neben allen anderen dort enthaltenen Artikeln durch ein Datenbanksystem verwaltet (Wikipedia-Technik).

Marktforschungsinstitute tragen eigene und Fremddaten in Data Warehouses (Datenlagern) zusammen.

Funktionen eines DBMS

Die wesentlichen Funktionen von heutigen Datenbankmanagementsystemen sind:

Speicherung, Überschreibung und Löschung von Daten

Verwaltung der Metadaten

Vorkehrungen zur Datensicherheit

Vorkehrungen zum Datenschutz

Vorkehrungen zur Datenintegrität

Ermöglichung des Mehrbenutzerbetriebs durch das Transaktionskonzept

Optimierung von Anfragen

Ermöglichung von Triggern und Stored Procedures

Bereitstellung von Kennzahlen über Technik und Betrieb des DBMS

Das RDBMS speichert die relationalen Daten auf einem Speichermedium. Neben den eigentlichen Daten werden ebenfalls Informationen über die Datenschemata und Zugriffsrechte von Benutzern gespeichert. Letztere sind wichtig, um die Datensicherheit zu garantieren. Dazu gehört sowohl Schutz gegen Datenverlust sowie Schutz gegen unerlaubten Zugriff. Die Metadaten eines DBMS werden auch als das Data Dictionary oder Katalog des Systems bezeichnet.

Ein weiterer wichtiger Aspekt von Datenbanken ist das Sichern des Datenbestandes durch Backups. In der Praxis ist dies oft ein nicht zu vernachlässigendes Performance-Problem, da während eines Backups Daten nur sehr eingeschränkt modifiziert werden dürfen.

Transaktionen

Ein weiterer wichtiger Teil der Datensicherheit ist das Transaktionskonzept, das Daten gegen Race Conditions durch den parallelen Zugriff mehrerer Benutzer schützt. Andernfalls könnten Daten von verschiedenen Benutzern gleichzeitig geändert werden. Das Ergebnis der Änderungen würde dann vom Zufall abhängen. Vereinfacht dargestellt, sperren Transaktionen Daten vorübergehend für den Zugriff durch andere Benutzer, bis eine Transaktion durch einen Commit beendet wird. Danach werden die geänderten Daten wieder freigegeben.

Die Integrität der Daten kann durch Constraints sichergestellt werden. Dies sind Regeln im Managementsystem, die beschreiben, wie Daten verändert werden dürfen. Der wichtigste Vertreter bei relationalen Datenbanksystemen ist der Foreign Key Constraint. Dieser verhindert, dass Daten gelöscht werden können, die noch von einer anderen Tabelle benötigt werden. Das sind Daten, die über einen Foreign Key referenziert werden.

Anfrageoptimierung

Auswertungsplan in Form eines Operatorbaums

Damit Daten abgefragt und verändert werden können, stellt das DBMS eine Datenbanksprache zur Verfügung. Eine Anfrage an das Datenbanksystem wird dabei zunächst in die logischen Operationen der relationalen Algebra übersetzt. Danach werden sogenannte Datenbankoperatoren ausgewählt, die die logische Operation tatsächlich auf den Daten ausführt. Die Wahl der Operatoren und die Reihenfolge ihrer Ausführung nennt man das Erstellen eines Ausführungsplans durch den Anfrageoptimierer. Der Optimierer ist ein besonders komplexer Teil der Datenbanksoftware und hat wesentlichen Einfluss auf die Effizienz des Gesamtsystems.

Bei der Anfrageoptimierung spielen Indizes eine wichtige Rolle. Sie dienen dazu, schnell einen bestimmten Datensatz zu finden. Welche Daten einen Index erhalten, wird mit dem Datenbankschema festgelegt, kann aber später von einem Datenbankadministrator angepasst werden.

Anwendungsunterstützung

Zur Unterstützung von Datenbankapplikationen bieten Datenbanksysteme Trigger und Stored Procedures an. Ein Trigger löst eine Aktion in der Datenbank aus, wenn ein bestimmtes Ereignis eingetreten ist, häufig bei Einfüge- oder Änderungsoperationen. Stored Procedures dienen dem Ausführen von Scripten in der Datenbank. Da Stored Procedures innerhalb des Datenbanksystems ausgeführt werden, sind sie oft der effizienteste Weg, Daten zu manipulieren. Datenbanken, die Trigger und Stored Procedures unterstützen, heißen auch aktive Datenbanken.

Sprachen

Das DBS stellt als Schnittstelle eine Datenbanksprache für die folgenden Zwecke zur Verfügung:

Datenabfrage und -manipulation (DML)

Verwaltung der Datenbank und Definition der Datenstrukturen (DDL)

Berechtigungssteuerung (DCL)

Bei den relationalen DBMS sind diese Kategorien in einer Sprache (SQL) vereint, bei anderen Systemen existiert aber durchaus eine Trennung in Form unterschiedlicher Sprachen.

Mehrbenutzerfähigkeit

Für den Zugriff auf die Daten des DBS werden Berechtigungen verwaltet. Ohne Berechtigung kann die entsprechende Operation nicht durchgeführt werden.

Für den (pseudo-)gleichzeitigen Zugriff mehrerer Anwendungen bzw. Anwender regelt das DBMS Konkurrenzsituationen.

Es werden Sperren (engl. locks ) verwaltet.

(engl. ) verwaltet. Es werden Systemprotokolle (engl. logs bzw. log files ) verwaltet.

(engl. bzw. ) verwaltet. Das DBS arbeitet transaktionsorientiert.

Diese Gruppe von Anforderungen zeichnet Datenbanksysteme im engeren Sinne gegenüber funktional erweiterten Dateisystemen aus.

Grundlage für die Strukturierung der Daten und ihrer Beziehungen zueinander ist das Datenbankmodell, das durch den DBMS-Hersteller festgelegt wird. Je nach Datenbankmodell muss das Datenbankschema an bestimmte Strukturierungsmöglichkeiten angepasst werden:

hierarchisch: Die Datenobjekte können ausschließlich in einer Eltern-Kind-Beziehung zueinander stehen.

netzwerkartig: Die Datenobjekte werden miteinander in Netzen verbunden.

relational: Die Daten werden zeilenweise in Tabellen verwaltet. Es kann beliebige Beziehungen zwischen Daten geben. Sie werden durch Werte bestimmter Tabellenspalten festgelegt.

objektorientiert: Die Beziehungen zwischen Datenobjekten werden vom Datenbanksystem selbst verwaltet. Objekte können Eigenschaften und Daten von anderen Objekten erben.

Es existiert eine Vielzahl von Misch- und Nebenformen, wie zum Beispiel das objektrelationale Modell.

Ausrichtung

Klassischerweise unterscheidet man eine Ausrichtung des Systems auf viele kleine Anfragen (OLTP) oder lang andauernder Auswertungen (OLAP). Es ist aber durchaus gängig, dass dasselbe System beiden Anforderungen gerecht werden muss und zum Beispiel tagsüber für den OLTP- und nachts für den OLAP-Betrieb „gefahren“ wird. Die DBA arbeitet dann unterschiedliche Konfigurationen aus (Hauptspeicher des Servers, Prozess-Anzahl, Optimierungsstrategie beim Zugriff etc.).

Quellen

Dieser Artikel basiert auf dem Artikel Datenbank aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Leave a Reply

Your email address will not be published. Required fields are marked *