Wissen > 1. Klassische Datenbanken > Erfolgsgeschichte klassischer Datenbanken > Warum Relational?

Warum Relational?

Was ist es, was relationale Datenbanken so speziell macht? Warum wird heute kaum noch etwas anderes eingesetzt? Die Antwort ist relativ simpel und liegt in der Komplexität und Umständlichkeit der Vorgänger.

Bandlaufwerke und Cobol

Mitte der Sechziger Jahre begannen Firmen ihre Buchhaltung zu automatisieren und verwendeten Cobol um täglich angesammelte Transaktionsbefehle am Abend als "Batch"-Job auf Tape-Master zu schreiben. Irgendwann ergab sich allderdings der Bedarf, Datenänderungen "online" zu übernehmen und man begann an der Entwicklung von Datenbanken (im mehr oder weniger heutigen Sinne) zu arbeiten.

Codasyl DBTG

Schlussendlich landete man bei Netzwerkdatenbanken, die man mit Hilfe von Codaysl [1] DBTG bearbeitete. Diese Konzepte hatten allerdings beide eine Vielzahl grober Probleme:

Einer der gravierendsten Konzeptfehler war vermutlich, dass die Datendefinitionen stets im Programm implementiert sein mussten und datenbankseitig keine Zugriffskontrolle existierte.

Vorteile von relationalen Datenbanken

Dementsprechend finden sich die Vorteile von relationalen Datenbanken in den Punkten

Eine Grundlage für dieses Konzept war speziell die Tatsache, dass Daten für Gewöhnlich länger existieren (müssen), als die Applikation, die zur Manipulation verwendet wird. Ein weiterer Schlüsselaspekt ist der Fakt, dass oftmals mehrere Applikationen auf ein und die selben Stammdaten zugreifen.

Schwierigkeiten mit "relational"

Dennoch liefern heute auch relationale Datenbanken gewisse Problemzonen; dies liegt vor allem an den folgenden Punkten:

Prinzipiell gibt es - wie bei den Vorgängern relationaler Datenbanken - sowohl positive, als auch negative Aspekte am Konzept:

+ Kontrolle der Datenredundanz

+ Datenkonsistenz

+ Mehr Informationen aus den Daten extrahierbar

+ Datensharing

+ Datenintegrität

+ Datensicherheit

+ Einhaltung von Standards

+ Economy of Scale

+ Ausgeglichene widersprechende Anforderungen (? balanced conflicting requirements ?)

+ Verbesserte Zugriffsmöglichkeit und Antwortzeit

+ Erhöhte Produktivität

+ Verbesserte Concurrency

+ Verbesserte Backup & Recovery Möglichkeiten

Nachteile

-- Komplexität

-- Grösse

-- Kosten von DBMS und geschultem Personal (schlechtes Beispiel, da die Vorgänger erst recht genau das selbe Problem besassen)

-- zusätzliche Hardwarekosten (siehe voriges Argument)

-- Konvertierungskosten / Umstiegskosten (kein aktuelles Problem mehr)

-- Performance (nicht unbedingt aktuelles Problem mehr)

-- stärkere Auswirkung bei Fehlern: Fehler im Konzept könnte er spät erkannt werden

Zusätzlich werden in vielen Fällen relationale Datenbanken verwendet, in denen andere Datenbankkonzepte möglicherweise besser passen würden. Aufgrund der starken Etablierung relationaler Datenbankprodukte am industriellen Markt, wird über Alternativen gar nicht erst nachgedacht.

Weiterführende Abschnitte

> Warum DBTG nicht gewinnen konnte

Quellennachweis

  1. Warum DBTG nicht gewinnen konnte
  2. Datenbanksysteme
  3. A Textbook Case Of Research Paying Off