Keine Ergebnisse gefunden

Ihre Suche ergab keine Treffer

Was ist eine relationale Datenbank?

Eine relationale Datenbank ist ein Datenbanktyp, der miteinander in Beziehung stehende Datenpunkte speichert und Zugriff darauf bietet. Relationale Datenbanken basieren auf dem relationalen Modell – einer intuitiven und einfachen Möglichkeit, Daten in Tabellen darzustellen. In einer relationalen Datenbank ist jede Zeile in der Tabelle ein Datensatz mit einer eindeutigen ID, die als Schlüssel bezeichnet wird. Die Spalten der Tabelle enthalten Attribute der Daten, und jeder Datensatz hat normalerweise einen Wert für jedes Attribut, sodass die Beziehungen zwischen Datenpunkten einfach hergestellt werden können.

Beispiel für eine relationale Datenbank

Dies ist ein einfaches Beispiel für zwei Tabellen, die ein kleines Unternehmen nutzen könnte, um Bestellungen für seine Produkte zu bearbeiten. Die erste Tabelle enthält Kundeninformationen. Jeder Datensatz umfasst Name, Adresse, Versand- und Rechnungsinformationen, Telefonnummer und andere Kontaktinformationen eines Kunden. Jedes Informationsbit (jedes Attribut) befindet sich in einer eigenen Spalte, und die Datenbank weist jeder Zeile eine eindeutige ID (einen Schlüssel) zu. In der zweiten Tabelle mit Kundenbestellungen enthält jeder Datensatz die ID des Kunden, der die Bestellung aufgegeben hat, das bestellte Produkt, die Menge, die ausgewählte Größe und Farbe usw., jedoch nicht den Namen oder Kontaktinformationen des Kunden.

Diese beiden Tabellen haben nur eines gemeinsam: die ID-Spalte (den Schlüssel). Aufgrund dieser gemeinsamen Spalte kann die relationale Datenbank jedoch eine Beziehung zwischen den beiden Tabellen herstellen. Wenn die Anwendung zur Bestellabwicklung des Unternehmens eine Bestellung an die Datenbank übermittelt, kann die Datenbank in die Tabelle mit den Kundenbestellungen wechseln, die korrekten Informationen zur Produktbestellung abrufen und die Kunden-ID aus dieser Tabelle verwenden, um die Rechnungs- und Versandinformationen des Kunden in der Kundeninformationstabelle zu suchen. Das richtige Produkt kann dann aus dem Lager kann entnommen werden, der Kunde erhält rechtzeitig seine Bestellung und das Unternehmen kann bezahlt werden.

Aufbau relationaler Datenbanken

Im relationale Modell sind die logischen Datenstrukturen – die Datentabellen, Ansichten und Indizes – von den physischen Speicherstrukturen getrennt. Diese Trennung bedeutet, dass Datenbankadministratoren die physische Datenspeicherung verwalten können, ohne den Zugriff auf diese Daten als logische Struktur zu beeinträchtigen. Wenn Sie beispielsweise eine Datenbankdatei umbenennen, werden die darin gespeicherten Tabellen nicht umbenannt.

Die Unterscheidung zwischen logisch und physisch gilt auch für Datenbankoperationen, bei denen es sich um klar definierte Aktionen handelt, mit denen Anwendungen die Daten und Strukturen der Datenbank bearbeiten können. Durch logische Operationen kann eine Anwendung den benötigten Inhalt angeben, und durch physische Operationen wird festgelegt, wie auf diese Daten zugegriffen werden soll, und die Aufgabe wird dann ausgeführt.

Um sicherzustellen, dass die Daten immer korrekt und zugänglich sind, befolgen relationale Datenbanken bestimmte Integritätsregeln. Beispielsweise kann eine Integritätsregel festlegen, dass doppelte Zeilen in einer Tabelle nicht zulässig sind, um die Möglichkeit fehlerhafter Informationen in der Datenbank auszuschließen.

Das relationale Modell

In den Anfangsjahren von Datenbanken wurden in jeder Anwendung Daten in einer eigenen eindeutigen Struktur gespeichert. Wenn Entwickler Anwendungen zur Verwendung dieser Daten erstellen wollten, mussten sie viel über die jeweilige Datenstruktur wissen, um die benötigten Daten zu finden. Diese Datenstrukturen waren ineffizient, schwer zu verwalten und für die Bereitstellung einer guten Anwendungsperformance schwer zu optimieren. Das relationale Datenbankmodell wurde entwickelt, um das Problem mehrerer beliebiger Datenstrukturen zu lösen.

Das relationale Modell bot eine Standardmethode zum Darstellen und Abfragen von Daten, die von jeder Anwendung verwendet werden konnten. Von Anfang an erkannten die Entwickler, dass die Hauptstärke des relationalen Datenbankmodells in der Verwendung von Tabellen lag, die eine intuitive, effiziente und flexible Möglichkeit zum Speichern und Zugreifen auf strukturierte Informationen darstellen.

Mit der Zeit entwickelte sich eine weitere Stärke des relationalen Modells, als Entwickler begannen, strukturierte Abfragesprachen (SQL) zum Schreiben und Abfragen von Daten in einer Datenbank zu verwenden. SQL ist seit vielen Jahren gängige Sprache für Datenbankabfragen. Basierend auf der relationalen Algebra bietet SQL eine intern konsistente mathematische Sprache, mit der sich die Performance aller Datenbankabfragen leichter verbessern lässt. Im Vergleich dazu müssen andere Ansätze einzelne Abfragen definieren.

Vorteile relationaler Datenbanken

Das einfache, aber leistungsstarke relationale Modell wird von Organisationen aller Arten und Größen für eine Vielzahl von Informationsbedürfnissen verwendet. Relationale Datenbanken werden verwendet, um Bestände zu verfolgen, E-Commerce-Transaktionen zu verarbeiten, große Mengen von geschäftskritischen Kundeninformationen zu verwalten und vieles mehr. Eine relationale Datenbank kann für jeden Informationsbedarf in Betracht gezogen werden, bei dem sich Datenpunkte aufeinander beziehen, und muss auf sichere, regelbasierte und konsistente Weise verwaltet werden.

Relationale Datenbanken gibt es seit den 1970er Jahren. Die Vorteile des relationalen Modells machen es auch heute noch zum am weitesten verbreiteten Modell für Datenbanken.

Datenkonsistenz

Das relationale Modell eignet sich am besten zum Aufrechterhalten der Datenkonsistenz in Anwendungen und Datenbankkopien (sogenannte Instanzen). Wenn ein Kunde beispielsweise Geld an einem Geldautomaten einzahlt und sich dann den Kontostand auf einem Mobiltelefon ansieht, erwartet er , dass sich diese Einzahlung sofort in einem aktualisierten Kontostand widerspiegelt. Relationale Datenbanken zeichnen sich durch diese Art von Datenkonsistenz aus und stellen sicher, dass mehrere Instanzen einer Datenbank immer die gleichen Daten enthalten.

Für andere Datenbanktypen ist es schwierig, diese zeitnahe Konsistenz mit großen Datenmengen beizubehalten. Einige neuere Datenbanken, z. B. NoSQL, können nur “Eventual Consistency” bieten. Nach diesem Prinzip dauert es einige Zeit, bis die Daten beim Skalieren der Datenbank oder beim Zugriff mehrere Benutzer auf dieselben Daten “erfasst werden.” Eventual Consistency ist für einige Verwendungszwecke akzeptabel, z. B. zum Verwalten von Auflistungen in einem Produktkatalog. Bei kritischen Geschäftsvorgängen, beispielsweise bei Warenkorbtransaktionen, ist die relationale Datenbank jedoch immer noch der bevorzugte Standard.

Verbindlichkeit und Atomarität

Relationale Datenbanken verarbeiten Geschäftsregeln und -richtlinien auf einer sehr detaillierten Ebene mit strengen Richtlinien zur Verbindlichkeit (das heißt, eine Änderung an der Datenbank ist dauerhaft). Angenommen, eine Lager-Datenbank verfolgt drei Teile, die immer zusammen verwendet werden. Wenn ein Teil dem Lagerbestand entnommen wird, müssen auch die anderen beiden Teile entnommen werden. Wenn eines der drei Teile nicht verfügbar ist, sollte keines der Teile aus dem Lager genommen werden – alle drei Teile müssen verfügbar sein, bevor von der Datenbank eine Bestätigung kommt. Eine relationale Datenbank würde kein Teil bestätigen, bevor alle drei Teile verfügbar sind. Diese vielfältige Einsatzfähigkeit wird als Atomarität bezeichnet. Atomarität ist der Schlüssel, um die Genauigkeit der Daten in der Datenbank aufrechtzuerhalten und sicherzustellen, dass sie den Regeln, Vorschriften und Richtlinien des Unternehmens entsprechen.

ACID und relationale Datenbanken

Vier wichtige Eigenschaften definieren Transaktionen in relationalen Datenbanken: Atomizität, Konsistenz, Isolation und Dauerhaftigkeit – häufig bezeichnet als ACID (Atomicity, Consistency, Isolation, Durability).

  • Atomizität definiert alle Elemente, die eine vollständige Datenbanktransaktion ausmachen.
  • Konsistenz definiert die Regeln, die sicherstellen, dass Datenpunkte nach einer Transaktion in einem korrekten Zustand sind.
  • Isolierung sorgt dafür, dass die Auswirkungen einer Transaktion für andere unsichtbar bleiben, bis sie vollständig durchgeführt ist, um Verwirrung zu vermeiden.
  • Dauerhaftigkeit stellt sicher, dass Datenänderungen dauerhaft sind, sobald die Transaktion vollständig durchgeführt wurde.

Gespeicherte Prozeduren und relationale Datenbanken

Der Datenzugriff umfasst viele sich wiederholende Aktionen. Beispielsweise muss eine einfache Abfrage zum Abrufen von Informationen aus einer Datentabelle möglicherweise Hunderte oder Tausende Male wiederholt werden, um das gewünschte Ergebnis zu erzielen. Diese Datenzugriffsfunktionen erfordern einen bestimmten Code für den Zugriff auf die Datenbank. Anwendungsentwickler möchten für diese Funktionen keinen neuen Code in jeder neuen Anwendung schreiben. Glücklicherweise ermöglichen relationale Datenbanken gespeicherte Prozeduren – Codeblöcke, auf die mit einem einfachen Anwendungsaufruf zugegriffen werden kann. Beispielsweise kann eine einzelne gespeicherte Prozedur eine konsistente Datensatzkennzeichnung für Benutzer mehrerer Anwendungen bereitstellen. Mit gespeicherten Prozeduren können Entwickler außerdem sicherstellen, dass bestimmte Datenfunktionen in der Anwendung auf eine bestimmte Weise implementiert werden.

Datenbanksperrung und Parallelität

Konflikte können in einer Datenbank auftreten, wenn mehrere Benutzer oder Anwendungen gleichzeitig versuchen, dieselben Daten zu ändern. Durch Sperr- und Parallelitätstechniken wird das Konfliktpotential verringert, während die Integrität der Daten erhalten bleibt.

Sperrung verhindert, dass andere Benutzer und Anwendungen auf Daten zugreifen, während diese aktualisiert werden. In einigen Datenbanken gilt das Sperren für die gesamte Tabelle, was sich negativ auf die Anwendungsperformance auswirkt. Andere Datenbanken, z. B. relationale Oracle Datenbanken, wenden Sperren auf Datensatzebene an, sodass die anderen Datensätze in der Tabelle verfügbar bleiben, um eine bessere Anwendungsperformance sicherzustellen.

Parallelität verwaltet die Aktivität, wenn mehrere Benutzer oder Anwendungen gleichzeitig Abfragen in derselben Datenbank aufrufen. Diese Funktion bietet Benutzern und Anwendungen den richtigen Zugriff gemäß den für die Datensteuerung definierten Richtlinien.

Worauf Sie bei der Auswahl einer relationalen Datenbank achten müssen

Die Software zum Speichern, Verwalten, Abfragen und Abrufen von Daten, die in einer relationalen Datenbank gespeichert sind, wird als relationales Datenbankmanagementsystem (RDBMS) bezeichnet. Das RDBMS bietet eine Schnittstelle zwischen Benutzern und Anwendungen und der Datenbank sowie administrative Funktionen zum Verwalten der Datenspeicherung, des Zugriffs und der Performance.

Bei der Auswahl zwischen Datenbanktypen und relationalen Datenbankprodukten können verschiedene Faktoren für Ihre Entscheidung ausschlaggebend sein. Welches RDBMS Sie auswählen, hängt von Ihrem Unternehmensanforderungen ab. Stellen Sie sich folgende Fragen:

  • Was sind unsere Anforderungen an die Datengenauigkeit? Werden Datenspeicherung und Genauigkeit von der Geschäftslogik abhängen? Haben unsere Daten strenge Anforderungen an die Genauigkeit (z. B. Finanzdaten und Regierungsberichte)?
  • Brauchen wir Skalierbarkeit? Wie groß sind die zu verwaltenden Daten und wie hoch ist das erwartete Wachstum? Muss das Datenbankmodell gespiegelte Datenbankkopien (als separate Instanzen) für die Skalierbarkeit unterstützen? Wenn ja, kann es Datenkonsistenz in diesen Instanzen aufrechterhalten?
  • Wie wichtig ist Parallelität? Benötigen mehrere Benutzer und Anwendungen gleichzeitigen Datenzugriff? Unterstützt die Datenbanksoftware Parallelität beim Schutz der Daten?
  • Welche Anforderungen haben wir an die Performance und Zuverlässigkeit? Benötigen wir ein Produkt mit hoher Performance und Zuverlässigkeit? Was sind die Anforderungen an Abfrage-Antwort-Performance? Was sind die Zusagen des Anbieters in Bezug auf Service Level Agreements (SLAs) oder ungeplante Ausfallzeiten?

Die relationale Datenbank der Zukunft: Die selbstverwaltete Datenbank

Im Laufe der Jahre wurden relationale Datenbanken besser, schneller, stärker und einfacher zu bearbeiten. Aber sie wurden auch komplexer, und die Verwaltung der Datenbank war lange Zeit eine Vollzeitaufgabe. Anstatt sich mit ihrem Fachwissen auf die Entwicklung innovativer Anwendungen zu konzentrieren, die dem Unternehmen einen Mehrwert bringen, mussten Entwickler den größten Teil ihrer Zeit für die zur Optimierung von Datenbankperformance erforderlichen Managementaktivitäten aufwenden.

Heutzutage baut autonome Technologie auf den Stärken des relationalen Modells auf, um einen neuen Typ relationaler Datenbanken bereitzustellen. Die selbstverwaltete Datenbank (auch als autonome Datenbank bezeichnet) behält die Leistungsfähigkeit und die Vorteile des relationalen Modells bei, verwendet jedoch künstliche Intelligenz (KI), Machine Learning und Automatisierung, um Abfrageperformance und Verwaltungsaufgaben zu überwachen und zu verbessern. Um beispielsweise die Abfrageperformance zu verbessern, kann die selbstverwaltete Datenbank Indizes hypothetisch analysieren und testen, um Abfragen zu beschleunigen, und dann die besten in die Produktion übernehmen – all dies erfolgt autonom. Die selbstverwaltete Datenbank führt diese Verbesserungen kontinuierlich durch, ohne dass ein menschliches Eingreifen erforderlich ist.

Autonome Technologien befreien Entwickler von den alltäglichen Aufgaben der Datenbankverwaltung. Beispielsweise müssen sie die Infrastrukturanforderungen nicht mehr im Voraus festlegen. Stattdessen können sie mit einer selbstverwalteten Datenbank Speicher hinzufügen und Ressourcen nach Bedarf berechnen, um das Datenbankwachstum zu unterstützen. Mit nur wenigen Schritten können Entwickler auf einfache Weise eine autonome relationale Datenbank erstellen und so die Zeit für die Anwendungsentwicklung verkürzen.