Database Reference
In-Depth Information
Im Jahr 2000 hielt Prof. Eric Brewer [3] die Keynote auf der PODC2000 [4], einer Konfe-
renz über die Grundlagen der Datenverarbeitung in verteilten Systemen ( Principles of Dis-
tributed Computing ). Auf dieser Keynote stellte er dar, dass es bei der Skalierung von ver-
teilten Datenbanksystemen auf drei Grundlegende Eigenschaften ankommt (Kasten: „Das
CAP-Theorem“)
Das CAP-Theorem
Consistency : Die Konsistenz der Daten bezogen auf Transaktionen. Entweder eine
Datenmanipulation wird komplett ausgeführt oder gar nicht. Wenn ein Kunde eines
Onlineshops den letzten verfügbaren Artikel bestellt, und aus irgendwelchen Gründen
der Lagerbestand nach der Bestellung nicht um 1 reduziert werden kann (wir gehen
davon aus, dass es im Normalfall funktioniert), so sind die Daten inkonsistent, und bei
der nächsten Bestellung dieses Artikels fängt die Suche im Lager nach dem Unsicht-
baren Buch an. Bezogen auf verteilte Datenbanken, die miteinander kommunizieren,
heißt es aber auch, dass alle Systeme die gleichen Datensätze sehen. Wenn die Be-
stellungen eines Shops auf mehrere Datenbanken verteilt werden, so muss sicherge-
stellt werden, dass die Veränderung des Lagerbestands durch ein System sofort auf
alle anderen Datenbanken übertragen wird. Diese Eigenschaft ist für Onlineshops
oder andere Dienste, die zum Austausch von Gütern (auch z. B. Aktien) dienen, ein
wichtiger Punkt. Nachrichtenbasierte Dienste wie soziale Netzwerke oder Newsserver
sind in der Regel nicht so empfindlich, was die Echtzeit betrifft. Wenn eine Nachricht
nicht sofort auf allen Servern angezeigt wird, so läuft das System trotzdem ohne Pro-
bleme.
Availability: ist die Verfügbarkeit eines Datenservice. Das bedeutet, dass eine Da-
tenbank auch antwortet, wenn eine Aufgabe an sie gestellt wurde. Wenn wir nach
dem Bestellen eines Artikels aus dem Shop kein Feedback bekommen (z. B. durch
eine leere Internetseite), ist unklar, ob die Bestellung ausgeführt wurde oder nicht.
Beziehen wir es wieder auf eine Gruppe von Systemen in einem Netz, so kann auch
gesagt werden, dass die Systeme weiter arbeiten müssen, wenn eines der Systeme
keine Antwort gibt.
Partition Tolerance: Daten können in verteilten Datenbanken durch äußere Einflüsse
partiell unterschiedliche Datenbestände aufweisen. Beispiel: Server A und B bieten
die gleichen Datendienste an. Server A kann aufgrund eines Hardwaredefekts (Kabel,
Netzwerk) nicht mit B kommunizieren, beide Server sind aber nach außen zu errei-
chen. Nun kann es passieren, dass auf A und B unterschiedliche Datensätze entste-
hen. In einem Netzwerk von Datenbanken muss gewährleistet sein, dass das ganze
System auch dann funktioniert, wenn einige Nachrichten untereinander verlorenge-
hen.
Search WWH ::




Custom Search