EMZETT.
Login

Datenbank-Transaktionen und ACID

Kurz: Eine Transaktion fasst mehrere Datenbankschritte zu einer Einheit zusammen: Entweder gelingen alle oder keiner. ACID beschreibt die Garantien dahinter.

Genauer: Klassisches Beispiel: Überweisung von 100 € von Konto A auf B. Abbuchen und Gutschreiben müssen zusammen gelingen. Fällt der Strom dazwischen aus, wird alles zurückgerollt.

Im Detail

  • A – Atomicity (Unteilbarkeit): Alles oder nichts.
  • C – Consistency (Konsistenz): Regeln der Datenbank (Schlüssel, Prüfungen) bleiben erfüllt.
  • I – Isolation: Gleichzeitige Transaktionen stören sich nicht. Isolationsstufen regeln, wie streng.
  • D – Durability (Dauerhaftigkeit): Bestätigte Änderungen überleben einen Absturz.
  • Kommandos: BEGIN, COMMIT, ROLLBACK.
  • Probleme: Dirty Read, Non-repeatable Read, Phantom Read, Deadlocks (Deadlock).
  • Verteilt: Über mehrere Dienste hinweg gibt es keine einfache Transaktion, dort helfen Muster wie Saga und Idempotenz.

Siehe auch: Datenbank-Migration, SQL-Index