ScholarGate
Assistent

ACID-Transaktionen

ACID-Transaktionen garantieren, dass eine Gruppe von Datenbankoperationen sich als eine einzige, zuverlässige Einheit verhält, die atomar, konsistenzerhaltend, von anderen Transaktionen isoliert und nach dem Commit dauerhaft ist.

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

Definition

Eine Transaktion ist eine Arbeitseinheit, die aus einer oder mehreren Datenbankoperationen besteht, die das System mit den ACID-Garantien ausführt: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit; sie endet entweder durch Commit (ihre Effekte werden dauerhaft gemacht) oder durch Abbruch (alle ihre Effekte werden rückgängig gemacht).

Scope

Dieses Thema behandelt die Transaktionsabstraktion und die vier ACID-Eigenschaften im Detail: Atomarität (Alles-oder-Nichts-Commit oder -Abbruch), Konsistenz (jede Transaktion überführt die Datenbank von einem gültigen Zustand in einen anderen), Isolation (gleichzeitige Transaktionen beeinflussen sich nicht beobachtbar) und Dauerhaftigkeit (festgeschriebene Effekte bleiben bei Fehlern erhalten). Es behandelt die Semantik von Commit und Abbruch und wie die Eigenschaften mit der Parallelitätskontrolle und der Wiederherstellung zusammenhängen. Spezifische Protokolle, die Isolation und Dauerhaftigkeit implementieren, werden ausgeschlossen, da sie angrenzende Themen sind.

Core questions

  • Was garantiert jede der ACID-Eigenschaften?
  • Wie definieren Commit und Abbruch das Alles-oder-Nichts-Verhalten einer Transaktion?
  • Wie hängt Isolation mit Serialisierbarkeit und Parallelitätskontrolle zusammen?
  • Wie wird Dauerhaftigkeit trotz Systemabstürzen erreicht?
  • Was sind die Grenzen des Transaktionsmodells für langlaufende oder verteilte Arbeiten?

Key concepts

  • Transaktion als Arbeitseinheit
  • Atomarität
  • Konsistenz
  • Isolation
  • Dauerhaftigkeit
  • Commit und Abbruch
  • Rollback
  • Transaktionszustandsmodell

Key theories

Atomarität und Dauerhaftigkeit
Atomarität stellt sicher, dass die Effekte einer Transaktion vollständig oder gar nicht angewendet werden, selbst bei Fehlern, und Dauerhaftigkeit stellt sicher, dass einmal festgeschriebene Änderungen einen Absturz überleben; beides wird durch Protokollierung und Wiederherstellung implementiert.
Konsistenz und Isolation
Konsistenz erfordert, dass jede festgeschriebene Transaktion die Integritätsbedingungen der Datenbank bewahrt, und Isolation erfordert, dass gleichzeitige Transaktionen Ergebnisse liefern, die einer seriellen Reihenfolge entsprechen, wobei Zwischenzustände voreinander verborgen bleiben.
Das Transaktionskonzept und seine Grenzen
Die Transaktionsabstraktion vereinfacht die Argumentation über Fehler und Parallelität, aber Gray bemerkte Einschränkungen für langlebige Aktivitäten und über Systemgrenzen hinweg, was spätere Arbeiten zu Sagas und verteilten Transaktionen motivierte.

Clinical relevance

ACID-Transaktionen sind der Grund, warum Datenbanken bei kritischen Operationen vertrauenswürdig sind: Eine Geldüberweisung, eine Bestandsreduzierung oder eine Reservierung wird entweder vollständig abgeschlossen oder gar nicht und überlebt Abstürze, weshalb transaktionale Datenbanken das Rückgrat von Bank-, Handels- und Aufzeichnungssystemen bilden.

History

Jim Gray formulierte 1981 das Transaktionskonzept und seine Vorzüge und Grenzen; Härder und Reuter prägten 1983 in ihrer Übersicht über transaktionsorientierte Wiederherstellung das Akronym ACID. Diese Ideen, die um IBMs System R entwickelt wurden, wurden zum Standardmodell zuverlässiger Datenverarbeitung und prägten jedes nachfolgende Datenbanksystem.

Key figures

  • Jim Gray
  • Andreas Reuter
  • Theo Härder

Related topics

Seminal works

  • gray1981
  • haerder1983
  • gray1992

Frequently asked questions

Was ist der Unterschied zwischen Konsistenz in ACID und der Konsistenz im CAP-Theorem?
Es handelt sich um unterschiedliche Konzepte. ACID-Konsistenz bedeutet, dass eine Transaktion die Integritätsbedingungen der Datenbank bewahrt und sie zwischen gültigen Zuständen überführt. CAP-Konsistenz bezieht sich darauf, dass alle Replikate in einem verteilten System sich auf den neuesten Wert einigen. Ein System kann das eine ohne das andere erfüllen, sodass dasselbe Wort in den beiden Kontexten unterschiedliche Eigenschaften bezeichnet.
Sind ACID-Eigenschaften voneinander unabhängig?
Sie sind konzeptionell unterschiedliche Garantien, werden aber durch überlappende Mechanismen implementiert. Atomarität und Dauerhaftigkeit ergeben sich aus Protokollierung und Wiederherstellung; Isolation ergibt sich aus der Parallelitätskontrolle; und Konsistenz wird gemeinsam durch die Transaktionslogik der Anwendung und die Durchsetzung der anderen drei Eigenschaften durch das System gewahrt.

Methods for this concept

Related concepts