Zum Inhalt springen
uencoder

Transaction

Eine Transaktion ist eine Gruppe von Operationen, die als eine logische Einheit unter Einhaltung von ACID ausgeführt wird — alles oder nichts.

Zweck

Mehrere Operationen zu einer atomaren Einheit bündeln und Korrektheit bei Ausfällen und Nebenläufigkeit garantieren.

Mechanismus

BEGIN startet, Operationen laufen, COMMIT bestätigt oder ROLLBACK bricht ab. Atomarität garantiert das Undo-Log, Dauerhaftigkeit das Redo-Log/WAL, Isolation Locks oder MVCC. Verteilte Transaktionen nutzen 2PC/3PC oder das Saga-Muster.

Anwendungsfälle

  • Banküberweisungen
  • Bestellungen und Lagerabbuchung
  • Relationale Multi-Tabellen-Updates
  • Verteilte dienstübergreifende Operationen

Beispiele

  • Eingabe
    BEGIN; A→B 100; COMMIT
    Output
    Atomic transfer

    All or nothing

Häufige Fehler

No explicit transaction causes partial commits
Wrap related operations in a transaction

Verwandte Begriffe

References