Databases Reference
In-Depth Information
23
C H A
P
I
T
R
E
I
N
F
I
N
I
NoSQL
Relationale Datenbanksysteme haben sich in den vergangenen 40 Jahren zu dem
Standard für die Datenhaltung entwickelt. Entwicklungen, wie wir sie etwa in
Form von Objekt- oder XML-Datenbanken kennenlernten, konnten daran nichts
ändern. Auch wenn nicht-relationale Technologien heute erfolgreich genutzt wer-
den, kommen sie nicht aus ihrem Nischendasein.
23.1
Das Kreuz mit dem Schema
Die Grenzen relationaler Datenbanken sind erreicht, wenn das starre Tabellen-
schema hinderlich wird. Wenn wir beispielsweise zu einer einfachen Tabelle
personen
, die Spalten wie
id
,
name
und
telefon
enthält, die Spalte
titel
hinzufügen wollen, gehen damit einige Probleme einher:
Die Änderung wird mit der Anweisung
alter table
durchgeführt. Je nach
eingesetztem Produkt kann dies zu erheblichen Reorganisationen auf physi-
kalischer Ebene führen. Sämtliche Datensätze der Tabelle
personen
, deren
Struktur um das Attribut
titel
erweitert wird, sind für die Dauer der Bear-
beitung gesperrt. Wenn es sich um eine sehr große Tabelle handelt, kann die
Änderung lange dauern, so dass die Sperren lange gehalten werden müssen.
Die Endanwender können unter Umständen stundenlang nicht mit den Daten
arbeiten. Hinzu kommt, dass die
alter table
-Anweisung möglicherweise
im Rahmen einer Transaktion durchgeführt und Datensatz für Datensatz pro-
tokolliert wird. Weil die Protokollierung Zugriffe auf die Festplatte nach sich
zieht, wird die Laufzeit der Anweisung und damit die Dauer der Sperren ver-
längert. Wenn es sehr viel zu protokollieren gibt, reicht der für das Transakti-
onsprotokoll zur Verfügung stehende Platz nicht, und das RDBMS muss, um
die ACID-Garantien zu gewährleisten, seine Arbeit einstellen.