Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik

Eigenschaften von Transaktionen


Notizen:

Eigenschaften von Transaktionen
Eine solche Arbeitseinheit muss einige Eigenschaften erfüllen, um als Transaktion zu gelten (ACID: Atomicity, Consistency, Isolation, Durability)
Atomic (Unteilbar)
Eine Transaktion wird ganz oder gar nicht ausgeführt, sie ist "unteilbar"
siehe Ausführungen über Transaktionsprotokoll und Rollback & -forward
Consistent (Konsistent)
Wenn Daten am Anfang der Transaktion konsistent (widerspruchsfrei) sind, muss das DBMS sicherstellen, dass sie es auch am Ende sind.
Anm.: Während die Transaktion läuft, steht es dem DBMS jedoch frei, auch vorübergehend inkonsistente Daten zu halten. Am Ende der Transaktion muss allerdings wieder "alles in Ordnung" sein.
Da eine Datenbank, die leer beginnt, per Definition konsistent ist, und jeder Schritt (INSERT, UPDATE, DELETE und auch Objekte anlegen u.dgl.) eine Transaktion ist, folgt: Die Konsistenz-Forderung besagt, dass eine Datenbank immer konsistent sein muss.
Isolated (Isolierbar)
(auch schon gesehen: Independant, Invisible)
Parallel laufende Transaktionen dürfen nicht auf dieselben Ressourcen greifen können.
Anm.: Das entspräche der ISO-Isolationsstufe "Serialisable", aus Performance-Gründen muss man tw. andere Isolationsstufen zulassen (siehe Isolationsstufen).
Durable (Dauerhaft)
Wenn ein DBMS ein Commit fehlerfrei ausgeführt hat, muss sich der Programmierer darauf verlassen können, dass die Daten verfügbar sind, egal, was mit dem System passiert (Crash, Blue Screen, Kernel Panic, Stromausfall,...)
Eigentlich auch eine Forderung an die Systementwickler eines DBMS.