Freigeben über


Grundlagen der Transaktionsverarbeitung

Bei einer Transaktion handelt es sich um eine Reihe zusammenhängender Aufgaben, die entweder in ihrer Gesamtheit erfolgreich abgeschlossen werden oder fehlschlagen. In der Transaktionsverarbeitung wird dies als Commit oder Abbruch einer Transaktion bezeichnet. Damit ein Transaktionscommit erfolgreich ausgeführt werden kann, müssen alle Beteiligten gewährleisten, dass jede vorgenommene Datenänderung dauerhaft ist. Die Änderungen müssen auch bei eventuellen Systemabstürzen oder anderen unvorhersehbaren Ereignissen erhalten bleiben.

Sobald auch nur ein Teil dies nicht gewährleisten kann, schlägt die gesamte Transaktion fehl. Sämtliche im Zuge der Transaktion durchgeführten Datenänderungen werden in einem Rollback bis zu einem bestimmten festgelegten Punkt zurückgenommen.

Transaktionen verbinden mehrere Aufgaben miteinander. Angenommen, dass eine ASP.NET-Seite zwei Aufgaben durchführt. Zunächst wird in einer Datenbank eine neue Tabelle erstellt. Daraufhin wird ein spezialisiertes Objekt für die Sammlung der Daten aufgerufen, das diese formatiert und in die neue Tabelle einfügt. Diese beiden Aufgaben stehen miteinander in Beziehung und hängen zudem voneinander ab. So soll z. B. keine neue Tabelle erstellt werden, wenn für diese Tabelle anschließend keine Daten einzufügen sind. Durch das Ausführen beider Aufgaben innerhalb einer einzelnen Transaktion wird eine Verbindung zwischen beiden erzwungen. Wenn die zweite Aufgabe nicht ausgeführt werden kann, wird die erste bis zu einem Punkt vor dem Erstellen der neuen Tabelle zurückgenommen.

Wie dieses Beispiel zeigt, kann sich eine Transaktion auf eine Datenressource beschränken, z. B. eine Datenbank oder eine Meldungswarteschlange. Solche Datenressourcen stellen häufig Funktionen für das Ausführen lokaler Transaktionen bereit. Da die Datenressource diese Vorgänge steuert, ergibt sich eine effiziente und einfache Verwaltung der Transaktionen.

Transaktionen können aber auch mehrere Datenressourcen einbeziehen. Verteilte Transaktionen geben Ihnen die Möglichkeit, mehrere eigenständige Vorgänge auf unterschiedlichen Systemen, als eine einzige Aktion zusammengefasst, zu bestätigen oder fehlschlagen zu lassen.

Siehe auch

Verarbeiten von Transaktionen | ACID-Eigenschaften | Transaktionsbegrenzungen | Verteilte Transaktionen