Database Reference
In-Depth Information
Punkt ähnelt sich die Konsistenzeigenschaft der Atomität, entweder das Ergebnis ist
konsistent, oder alles wird rückgängig gemacht.
▪ Isolation: Eine Transaktion darf keine Seiteneffekte auf andere Transaktionen haben.
So darf eine Änderung einer ID nicht sofort in eine parallel ausgeführte Transaktion
mit einfließen.
▪ Durability (Dauerhaftigkeit): Die Auswirkung einer erfolgreich ausgeführten Transakti-
on bleibt auch nach einem Systemfehler oder Neustart dauerhaft in der Datenbank
erhalten.
Single-Server-Datenbanken erfüllen (solang sie einwandfrei funktionieren) das ACID-
Konzept. Im Gegensatz zu ERP-Lösungen in Unternehmen, die eine begrenzte Anzahl von
Benutzern bedienen müssen, herrschen bei stark frequentierten Webdiensten ganz andere
Anforderungen, so das bei gesteigertem Leistungsbedarf große Unterschiede bei der Erhö-
hung der Leistung zwischen geschlossenen Firmenanwendungen und (in der Anzahl der
Benutzer) offenen Webdiensten bestehen: Vertikale und horizontale Skalierung.
Vertikale vs. horizontale Skalierung
Vertikale Skalierung ist das „Tuning“ einer abgeschlossenen Datenbankeinheit durch hin-
zufügen von Rechenleistung oder Speicher, klassisch für firmeninterne Datenbanksysteme,
bei denen es eher auf die Konsistenz der Daten als auf die gleichzeitige Bedienung von tau-
senden von Nutzern ankommt (Natürlich gibt es auch hier gemischte Formen).
Horizontale Skalierung ist das Hinzufügen von weiteren abgeschlossenen Datenbankein-
heiten, die sich nach außen hin als eine logische Einheit darstellen. Horizontale Skalierung
ist das Rückgrat der meisten Webanwendungen, die mithilfe von Loadbalancern oder Ser-
verfarmen die Anfragen bewältigen.
Bei Skalierung auf mehrere verteilte Datenbanken tauchen erste Szenarien auf, die das
ACID-Konzept aufzuweichen drohen. Was ist, wenn in einem Netz von verbundenen Da-
tenbanken einzelne Systeme oder die Verbindungen zwischen den Datenbanken ausfallen?
Es ist heutzutage nicht mehr unüblich, viele Server zur Speicherung von Daten in sozialen
Netzwerken oder Suchmaschinen zu verbinden. Im Fehlerfall droht die Dateninkonsistenz
des gesamten Systems, und unterschiedliche Datensätze in Teilen des Datenbanksystems
aufgrund von Netzwerkzerteilung ( Network Partioning ). Doch wie kann man Datenbank-
systeme verlässlich horizontal skalieren? Um den Buzzword-Faktor dieses Artikels zu er-
höhen, folgen zwei weitere wichtige Begriffe.
Brewers CAP Theorem
Search WWH ::




Custom Search