ScholarGate
Assistent

Transaktionsmanagement und Parallelität

Transaktionsmanagement und Parallelitätskontrolle ermöglichen es einer Datenbank, viele gleichzeitige Transaktionen korrekt auszuführen und Ausfälle zu überstehen, wodurch die Eigenschaften Atomarität, Konsistenz, Isolation und Dauerhaftigkeit (ACID) gewährleistet werden.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Eine Transaktion ist eine Abfolge von Datenbankoperationen, die als eine einzige logische Einheit ausgeführt wird, die atomar, konsistenzerhaltend, von gleichzeitigen Transaktionen isoliert und nach dem Commit dauerhaft ist; Transaktionsmanagement ist die Menge von Mechanismen, die diese Eigenschaften unter Parallelität und Ausfall durchsetzen.

Scope

Dieser Bereich umfasst die Transaktion als Arbeitseinheit und die Mechanismen, die eine gleichzeitige, fehleranfällige Ausführung korrekt machen: die ACID-Eigenschaften; Serialisierbarkeit als Korrektheitskriterium für Parallelität; Sperr-, Zeitstempel- und Multiversionsprotokolle, die diese durchsetzen; die schwächeren Isolationsstufen, die Konsistenz gegen Leistung eintauschen; und die Protokollierungs- und Wiederherstellungstechniken, die Atomarität und Dauerhaftigkeit bei Abstürzen gewährleisten. Ausgenommen ist das verteilte Commit über mehrere Standorte hinweg, das im Bereich der verteilten und parallelen Datenbanken behandelt wird.

Sub-topics

Core questions

  • Was garantieren die ACID-Eigenschaften und warum werden sie benötigt?
  • Was macht einen gleichzeitigen Zeitplan korrekt, d.h. serialisierbar?
  • Wie setzen Sperr-, Zeitstempel- und Multiversionsprotokolle die Serialisierbarkeit durch?
  • Wie stellen Protokollierung und Wiederherstellung nach einem Absturz einen konsistenten Zustand wieder her?
  • Wie tauschen schwächere Isolationsstufen Konsistenz gegen Parallelität ein?

Key concepts

  • Transaktion und Commit/Abort
  • ACID-Eigenschaften
  • Serialisierbarkeit und der Präzedenzgraph
  • Zweiphasen-Sperren
  • Zeitstempel-Ordnung
  • Multiversions-Parallelitätskontrolle
  • Deadlock-Erkennung und -Vermeidung
  • Write-Ahead-Logging
  • Isolationsstufen

Key theories

ACID-Eigenschaften
Atomarität (Alles-oder-Nichts-Ausführung), Konsistenz (Erhaltung der Integritätsbedingungen), Isolation (gleichzeitige Transaktionen scheinen isoliert zu laufen) und Dauerhaftigkeit (festgeschriebene Effekte überleben Ausfälle) definieren zusammen das korrekte Transaktionsverhalten.
Serialisierbarkeit
Ein gleichzeitiger Zeitplan ist korrekt, wenn er einer seriellen Ausführung äquivalent ist; Konfliktserialisierbarkeit, getestet über den Präzedenz- (Serialisierungs-) Graphen, ist das praktische Kriterium, das Parallelitätskontrollprotokolle durchsetzen.
Parallelitätskontrolle und Wiederherstellung
Sperren, Zeitstempel-Ordnung und Multiversionsmethoden verhindern nicht-serialisierbare Verschachtelungen, während Write-Ahead-Logging und Wiederherstellungsalgorithmen Atomarität und Dauerhaftigkeit garantieren, die beiden Hälften der korrekten Transaktionsverarbeitung.

Clinical relevance

Transaktionsmanagement macht Datenbanken für Geld und Aufzeichnungen vertrauenswürdig: Es stellt sicher, dass eine Banküberweisung niemals ein Konto belastet, ohne ein anderes gutzuschreiben, dass eine Fluggesellschaft niemals einen Sitzplatz bei gleichzeitigen Anfragen doppelt bucht und dass festgeschriebene Daten Abstürze überstehen, was alle zuverlässigen Transaktionssysteme untermauert.

History

Das Transaktionskonzept und die ACID-Eigenschaften wurden in den 1970er Jahren bei IBMs System R formalisiert; Eswaran und Kollegen (1976) etablierten Konsistenz- und Sperrkonzepte, Jim Gray definierte Transaktionen und Wiederherstellung, und Bernstein, Hadzilacos und Goodman (1987) systematisierten die Serialisierbarkeitstheorie. Grays Beiträge zur Transaktionsverarbeitung brachten ihm den Turing Award ein.

Key figures

  • Jim Gray
  • Philip Bernstein
  • Andreas Reuter

Related topics

Seminal works

  • gray1992
  • bernstein1987
  • eswaran1976

Frequently asked questions

Was bedeutet es, dass ein Zeitplan von Transaktionen serialisierbar ist?
Ein gleichzeitiger Zeitplan ist serialisierbar, wenn sein Gesamteffekt identisch ist mit der Ausführung derselben Transaktionen nacheinander in einer bestimmten Reihenfolge. Serialisierbarkeit ist das Goldstandard-Korrektheitskriterium: Obwohl Transaktionen zur Leistungssteigerung verschachtelt werden, ist das Ergebnis so, als wären sie seriell ausgeführt worden, sodass keine Transaktion einen inkonsistenten Zwischenzustand sieht.
Warum sind schwächere Isolationsstufen erlaubt, wenn sie Anomalien erzeugen können?
Die Durchsetzung vollständiger Serialisierbarkeit hat Leistungskosten in Bezug auf Sperrkonflikte und Abbrüche. Viele Anwendungen können bestimmte Anomalien im Austausch für eine höhere Parallelität tolerieren, daher definiert der SQL-Standard schwächere Isolationsstufen (Read Committed, Repeatable Read usw.), die es Entwicklern ermöglichen, bewusst etwas Isolation gegen Durchsatz einzutauschen.

Methods for this concept

Related concepts