Zeitstempelverfahren

Zeitstempelverfahren

Zeitstempelverfahren (engl. Timestamp Ordering) werden in Datenbanksystemen eingesetzt, um die Forderung der Isolation des ACID-Prinzips bei Transaktionen zu erfüllen.

Zeitstempelverfahren fallen in die Kategorie der optimistischen Synchronisationsverfahren, das heißt es wird bei dem Start einer Transaktion davon ausgegangen, dass die Wahrscheinlichkeit eines Konflikts mit einer parallel ablaufenden Transaktion (TA) niedrig ist.

Transaktionen werden nur dann zurückgesetzt, wenn es zu einem Konflikt gekommen ist, oder gekommen sein könnte.

Um die Konflikte erkennen zu können, bekommen Transaktionen und auch Objekte Zeitstempel. Nun kann vor jedem Lese- beziehungsweise Schreibzugriff auf ein Objekt geprüft werden, ob das Objekt bereits von einer parallel laufenden TA geändert worden ist, also ein Konflikt entstanden ist, andernfalls kann der Zeitstempel aktualisiert werden.

In praktischen Anwendungen findet nicht vor jedem Zugriff auf ein Objekt eine Validierung statt, sondern die Änderungen einer Transaktion befinden sich vorerst in einem Puffer, so dass das tatsächliche Einbringen in die Datenbank (Schreiben auf Festplatte) erst nach erfolgreicher Validierungsphase (vor dem Ausführen des Commits, des Schreibvorgangs) durchgeführt wird.

Grundlegende Validierungstechniken

Für jede Transaktion wird vom Datenbanksystem ein Read-Set (Menge der Objekte, die die TA gelesen hat) und ein Write-Set (Menge der Objekte, die von der TA geschrieben wurden) geführt. Ein Konflikt liegt zwischen zwei Transaktionen genau dann vor, wenn das Write- und Read-Set der Transaktionen gleiche Objekte beinhalten.

Man unterscheidet:

BOCC (backward-oriented optimistic concurrency control)
rückwärtsgerichtete Validierung: Bei Beendigung einer TA werden alle Transaktionen überprüft, die während der Ausführung der TA erfolgreich validiert haben, im Konfliktfall wird die validierende TA zurückgesetzt.
FOCC (forward-oriented optimistic concurrency control)
vorwärtsgerichtete Validierung: Bei Beendigung einer TA werden alle noch laufenden Transaktionen überprüft. Im Konfliktfall werden die noch laufenden Transaktionen zurückgesetzt (Kill-Ansatz), oder die validierende TA wird zurückgesetzt ("Die"-Ansatz).

Siehe auch

Multiversion Concurrency Control


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • ACID (Informatik) — ACID, deutsch auch AKID, ist ein Akronym in der Informatik. Es beschreibt erwünschte Eigenschaften von Transaktionen in Datenbankmanagementsystemen (DBMS) und verteilten Systemen. Es steht für atomicity, consistency, isolation und durability. Man …   Deutsch Wikipedia

  • Mix (Netzwerk) — Grundfunktionen eines Mixes: 1. Filtern, 2. Sammeln, 3. Umkodieren, 4. Umsortieren der Nachrichten (farbige Pfeile) Das 1981 von David Chaum eingeführte Konzept der (umkodierenden) Mixe dient der anonymen Kommunikation innerhalb eines Netzwerkes …   Deutsch Wikipedia

  • Multiversion Concurrency Control — (MCC, MVCC, multi generational concurrency control) ist ein Verfahren aus der Datenbanktechnik, das dazu dient, konkurrierende Zugriffe auf eine Datenbank möglichst effizient auszuführen, ohne zu blockieren oder die Konsistenz der Datenbank zu… …   Deutsch Wikipedia

  • Optimistic Concurrency — (auch: Optimistisches Locking genannt) ist ein Verfahren, um beispielsweise in Warenwirtschaftssystemen den parallelen Zugriff von mehreren Benutzern auf denselben Datensatz konfliktarm und ohne Inkonsistenzen zu regeln. Bei der Optimistic… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”