Datenbank Blog » Datenbankentwicklung

Datenbanktransaktionen nach dem ACID-Prinzip

ACID-Prinzip bei Datenbanken | Datenbank Blog

Das ACID-Prinzip beschreibt sinnvolle Regeln zum effektiven und effizienten Umgang mit Datenbankentransaktionen.  Eine Datenbanktransaktion ist eine Sequenz von Operationen, die einzigartig und durchführbar sein muss. Wir zeigen dir, worauf du bei dem Thema ACID achten musst…

Das ACID-Prinzip setzt sich aus folgenden Bausteinen zusammen:

  • „A“ (atomacy) in ACID:
    • Man spricht dann von atomaren (atomacy) Operationen, wenn eine Sequenz von Datei-Operationen entweder ganz oder gar nicht ausgeführt wird.
  • „C“ (consistency) in ACID:
    • Man spricht von einer vorhandenen Datenkonsistenz (consistency), wenn nach einer Sequenz von Datei-Operationen der Datenzustand in einem konsistenten Zustand hinterlassen wird.
  • „I“ (isolation) in ACID:
    • Die Isolation (isolation) verhindert, dass sich parallele Ausführungen auf befindliche Datei-Operationen gegenseitig beeinflussen können.
  • „D“ (durability) in ACID:
    • Die Dauerhaftigkeit (durability) gewährleistet, dass die Datei-Operationen dauerhaft auf einem Datenträger gesichert sind.

Um das ACID-Prinzip an einem praxisnahen Beispiel zu erläutern, werden wir den Verlauf einer Überweisung zwischen zwei Kreditinstituten beschreiben.

ACID-Prinzip Beispiel

Für diesen Vorgang sind zwei Vorgänge nötig:

  • Kreditinstitut A werden 100 Euro abgebucht.
  • Kreditinstitut B werden 100 Euro gut geschrieben.
  • Kreditinstitut C

Das „A“ (atomacy) in ACID

Würde das Geld von Kreditinstitut A zwar abgebucht werden, aber Kreditinstitut B in irgendeiner Form nicht erreichen, dann würde eine Verletzung der Atomarität vorliegen. Wird die Banküberweisung an irgendeiner Stellte gestoppt, wird der Vorgang rückgängig gemacht und die Überweisung wird zurückgewiesen.

Das „C“ (consistency) in ACID

Wenn zwar die Überweisung von A nach B erfolgreich verlaufen ist, aber die Zuordnung zwischen Sender und Empfänger nicht der Wahrheit entspricht, z.B. A und C , so liegt eine Verletzung der Konsistenz vor. Nach jeder Transaktion muss die Integritätsprüfung erfolgen, damit die Gültigkeit der Daten in der Datenbank gewährleistet ist.

Das „I“ (isolation) in ACID

Eine Überweisung darf nur als eine Transaktion erfolgen. Es dürfen keine parallelen Transaktionen zum Zeitpunkt der Überweisung von A nach B stattfinden. Sollen mehrere Banküberweisungen erfolgen, so wird die Transaktion in einer Warteschlange gespeichert und Schritt für Schritt abgearbeitet. Würde hier eine Parallelität stattfinden, so würde eine Verletzung der Isolation vorliegen.

Das „D“ (durability) in ACID

Die Überweisung von A nach B muss auch noch nach Jahren oder beliebig vielen Systemabstürzen nachvollziehbar und dauerhaft gespeichert sein. Wird diese Regel nicht befolgt, so liegt eine Verletzung der Dauerhaftigkeit vor.

Fazit zum ACID-Prinzip

Jeder, der eine Datenbank selber erstellt oder daran mitwirkt, sollte diese Regeln verinnerlichen und stets befolgen. Sind erst einmal die Daten in einem redundanten Zustand oder einige Fremdschlüssel beschädigt, ist eine Reparatur nur schwer möglich bzw. aussichtslos.

Euer Datenbanken-verstehen.de Team

Über den Autor

Markus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.