Enzyklopädie > Artikel
ACID
ACID beschreibt eine häufig gewünschte Eigenschaft für zusammengehörige Verarbeitungsschritte (Transaktion) in einem Datenbanksystem.
Dabei steht ACID für Atomizität, Konsistenz (Consistency), Isolation und Dauerhaftigkeit (Durability).
Obwohl sich die Bezeichnung so durchgesetzt hat, ist bedingt durch die geänderte Bedeutung des Konsistenzbegriffes in diesem Zusammenhang statt Konsistenz eigentlich Integrität gemeint.
Eine Transaktion könnte beispielsweise die Überweisung von 50€ von Konto A auf ein anderes Konto B sein und aus folgenden Verarbeitungsschritten bestehen:
- Lesen Kontostand A
- Vermindern des gelesenen Wertes um 50
- Schreiben des neuen, reduzierten Betrages für Konto A
- Lesen Kontostand B
- Erhöhen des gelesenen Wertes um 50
- Schreiben des neuen, erhöhten Betrages für Konto B
Atomizität: Es werden entweder alle Schritte durchgeführt oder gar keiner. Würde beispielsweise wegen eines Hardwareschadens nach dem 3.Schritt abgebrochen, müsste ein die ACID Eigenschaften erfüllendes Datenbankmanagementsystem dafür sorgen, dass auch die bereits erfolgten Änderungen nicht aufscheinen.
Consistency: Wenn es eine Integritätsbedingung gibt, die den Kontostand von B nach oben begrenzt und dieser würde im Schritt 6 überschritten, wäre die Integrität nicht mehr gewährleistet. Ein ACID System muss dann die komplette Transaktion zurücknehmen.
Isolation: Würde ein anderer Benutzer zum Zeitpunkt des Schrittes 4 oder 5 eine Summe über alle Konten berechnen, würde er ein falsches Ergebnis erhalten, wenn die Transaktionen nicht von einander isoliert ablaufen. Ein ACID System muss das verhindern.
Dauerhaftigkeit: Die in den Schritten 3 und 6 durchgeführten Änderungen müssen dauerhaft in der Datenbank erhalten bleiben, insbesondere auch nach Systemabstürzen.