Das ACID-Prinzip

Geschätzte Lektüre: 3 Minuten 219 Ansichten

Zuverlässige Datenbanksysteme müssen garantieren, dass Datenoperationen selbst bei Fehlern, Abstürzen oder gleichzeitigen Zugriffen korrekt und konsistent bleiben. Diese Garantien fasst das ACID-Prinzip zusammen — ein Konzept, das in der Praxis von großer Bedeutung ist.

Begriffserklärung: Das Wort ‚Transaktion‘ bezeichnet in der Datenbankwelt eine Folge von Datenbankoperationen, die als logische Einheit behandelt wird. Entweder werden alle Operationen einer Transaktion ausgeführt — oder keine.

A — Atomarität (Atomicity)

Eine Transaktion ist atomar — sie wird entweder vollständig ausgeführt oder gar nicht. Ein klassisches Beispiel: eine Überweisung zwischen zwei Bankkonten. Dabei müssen zwei Operationen erfolgen: Der Betrag wird vom Senderkonto abgebucht und dem Empfängerkonto gutgeschrieben. Sollte nach der Abbuchung ein Fehler auftreten (z. B. Systemabsturz), sorgt die Atomarität dafür, dass die gesamte Transaktion rückgängig gemacht wird — das Geld verschwindet nicht einfach.

C — Konsistenz (Consistency)

Nach Abschluss einer Transaktion muss die Datenbank einen konsistenten, regelkonformen Zustand haben. Alle definierten Regeln und Constraints (z. B. „Das Konto darf nicht negativ werden“) müssen eingehalten sein. Eine Transaktion darf die Datenbank nicht in einem widersprüchlichen Zustand hinterlassen.

I — Isolation

Parallel laufende Transaktionen beeinflussen sich nicht gegenseitig. Das bedeutet: Eine Transaktion, die noch nicht abgeschlossen ist, bleibt für andere unsichtbar. Die endgültige Ausführungsreihenfolge ist so, als ob die Transaktionen nacheinander abgearbeitet worden wären — auch wenn sie technisch gleichzeitig stattfanden.

D — Dauerhaftigkeit (Durability)

Sobald eine Transaktion erfolgreich abgeschlossen („committed“) wurde, sind die Änderungen dauerhaft — auch wenn das System direkt danach abstürzt. Dies wird typischerweise durch Write-Ahead-Logging (WAL) sichergestellt: Änderungen werden zuerst in ein Protokoll geschrieben, bevor sie in die eigentlichen Datendateien übernommen werden.

ACID-EigenschaftBedeutungBeispiel
AtomaritätAlles oder nichtsBanküberweisung: entweder komplett oder gar nicht
KonsistenzRegelkonformer EndzustandKontosaldo darf nicht negativ werden
IsolationKeine gegenseitige BeeinflussungZwei gleichzeitige Buchungen stören sich nicht
DauerhaftigkeitÄnderungen bleiben erhaltenDaten nach Commit auch nach Absturz vorhanden
Dieses Dokument teilen

Das ACID-Prinzip

Oder Link kopieren

INHALT

Abonnieren

×
Cancel