Home

TransaktionsManager

Transaktionsmanager ist eine Softwarekomponente, die Transaktionen koordiniert, die über mehrere Ressource Manager wie Datenbanken, Message-Broker oder Dateisysteme hinweg laufen. Seine Aufgabe besteht darin, Atomizität, Konsistenz, Isolierung und Dauerhaftigkeit (ACID) zu gewährleisten, indem er eine globale Transaktion über alle beteiligten Ressourcen steuert.

Funktionsweise: Eine Transaktion wird vom Transaktionsmanager gestartet (begin), über alle beteiligten Ressourcen geführt und entweder vollständig

Architektur: Typischerweise besteht ein Transaktionsmanager aus einer globalen Transaktion, einem Koordinator, sogenannten Resource Managers (RMs) und

Alternativen und Herausforderungen: Lang laufende Transaktionen werden häufig durch Muster wie Sagas ersetzt, die kompensierende Aktionen

Anwendungsbereiche: Transaktionsmanager finden sich in Datenbanksystemen, Messaging-Plattformen, enterprise-Software und Microservices-Architekturen. Typische Implementierungen umfassen JTA-kompatible Transaction

bestätigt
(commit)
oder
rückgängig
gemacht
(rollback).
Bei
verteilten
Transaktionen
erfolgt
dies
meist
nach
einem
Zwei-Phasen-Verifizierungsprotokoll
(2PC)
oder,
seltener,
einem
Drei-Phasen-Protokoll
(3PC).
In
der
2PC-Variante
sammelt
der
Transaktionsmanager
die
Commit-Entscheidungen
der
Ressourcen
im
Prepare-Phase;
erst
danach
erfolgt
der
endgültige
Commit.
Das
Protokoll
blockiert
Ressourcen,
bis
der
Abschluss
feststeht,
und
erfordert
Mechanismen
zur
Wiederherstellung
nach
Ausfällen.
einer
Protokollschicht.
Er
arbeitet
oft
mit
Standards
wie
XA
(X/Open)
oder
JTA
(Java
Transaction
API)
zusammen.
In
vielen
Umgebungen
gibt
es
zusätzlich
Lokale
Transaktionsmanager
pro
Anwendungserver,
die
lokale
Transaktionen
zu
einer
globalen
koordinieren.
statt
eines
atomaren
Commit
verwenden.
Verteilte
Transaktionen
erzeugen
Overhead,
können
zu
Blockierung
führen
und
erfordern
robuste
Wiederherstellung.
Konsistenzmodelle
in
verteilten
Architekturen
spielen
eine
zentrale
Rolle.
Manager
in
Java-Anwendungen
und
Microsofts
Distributed
Transaction
Coordinator
(DTC).