bg_image
header

ACID

ACID ist ein Akronym, das vier zentrale Eigenschaften beschreibt, die für die Zuverlässigkeit von Datenbanktransaktionen in einem Datenbankmanagementsystem (DBMS) entscheidend sind. Diese Eigenschaften gewährleisten die Integrität der Daten und die Konsistenz der Datenbank auch bei Fehlern oder Systemabstürzen. ACID steht für:

  1. Atomicity (Atomarität):

    • Jede Transaktion wird als eine unteilbare Einheit betrachtet. Das bedeutet, entweder wird die gesamte Transaktion vollständig ausgeführt, oder gar nicht. Wenn ein Teil der Transaktion fehlschlägt, wird die gesamte Transaktion rückgängig gemacht und die Datenbank bleibt in einem konsistenten Zustand.
  2. Consistency (Konsistenz):

    • Jede Transaktion führt die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand. Das bedeutet, dass nach Abschluss einer Transaktion alle Integritätsbedingungen der Datenbank erfüllt sind. Konsistenz stellt sicher, dass keine Transaktion die Datenbank in einen ungültigen Zustand versetzt.
  3. Isolation (Isolation):

    • Transaktionen werden isoliert voneinander ausgeführt. Das bedeutet, dass die Ausführung einer Transaktion so erfolgen muss, als ob sie die einzige Transaktion in der Datenbank ist. Die Ergebnisse einer laufenden Transaktion sind für andere Transaktionen nicht sichtbar, bis die Transaktion abgeschlossen ist. Dies verhindert, dass parallele Transaktionen einander beeinflussen und zu Inkonsistenzen führen.
  4. Durability (Dauerhaftigkeit):

    • Nach Abschluss einer Transaktion (d.h., wenn sie „committed“ ist) bleiben die Änderungen dauerhaft erhalten, selbst im Falle eines Systemabsturzes oder eines anderen Fehlers. Die Dauerhaftigkeit wird in der Regel durch das Schreiben der Änderungen auf nicht-flüchtige Speicher wie Festplatten sichergestellt.

Beispiel zur Verdeutlichung

Stellen wir uns vor, wir haben eine Bankdatenbank mit zwei Konten: Konto A und Konto B. Eine Transaktion überweist einen Betrag von 100 Euro von Konto A auf Konto B. Die ACID-Eigenschaften gewährleisten Folgendes:

  • Atomicity: Wenn die Überweisung aus irgendeinem Grund fehlschlägt (z.B. wegen eines Systemabsturzes), wird die gesamte Transaktion rückgängig gemacht. Konto A wird nicht belastet und Konto B erhält keinen Betrag.
  • Consistency: Die Transaktion stellt sicher, dass die Gesamtmenge des Geldes in beiden Konten vor und nach der Transaktion gleich bleibt (wenn keine anderen Faktoren ins Spiel kommen). Falls Konto A ursprünglich 200 Euro und Konto B 300 Euro hatte, sollte das Gesamtsaldo von 500 Euro nach der Transaktion unverändert bleiben.
  • Isolation: Wenn zwei Überweisungen gleichzeitig stattfinden, beeinflussen sie sich nicht gegenseitig. Jede Transaktion sieht die Datenbank so, als wäre sie die einzige laufende Transaktion.
  • Durability: Sobald die Transaktion abgeschlossen ist, sind die Änderungen dauerhaft. Selbst wenn nach der Transaktion ein Stromausfall auftritt, bleibt der neue Kontostand von Konto A und Konto B erhalten.

Bedeutung von ACID

Die ACID-Eigenschaften sind entscheidend für die Zuverlässigkeit und Integrität von Datenbanktransaktionen, insbesondere in Systemen, die mit sensiblen Daten arbeiten, wie Finanzinstitutionen, E-Commerce-Plattformen und kritischen Geschäftsanwendungen. Sie helfen, Datenverlust und -beschädigung zu verhindern und stellen sicher, dass Daten konsistent und vertrauenswürdig bleiben.