IT-Lexikon › Datenbanken › Saga-Kompensation

Saga-Kompensation

Datenbanken Svenska → Aktualisiert: 2026-09-14

Das Muster, eine mehrstufige, verteilte Transaktion (eine „Saga") rückgängig zu machen, indem für jeden bereits ausgeführten Schritt eine explizite kompensierende Aktion läuft — statt eines Datenbank-Rollbacks. Der übliche Weg, Daten über Microservices hinweg konsistent zu halten, ohne verteilte Transaktionen zu brauchen.

Problem: Eine Operation, die mehrere Dienste umspannt (Flug + Hotel + Mietwagen buchen), kann keine einzelne Datenbanktransaktion bzw. 2PC nutzen — die Dienste haben eigene Datenbanken, und 2PC skaliert schlecht. Eine Saga teilt die Operation in lokale Transaktionen pro Dienst auf; scheitert ein späterer Schritt, laufen kompensierende Transaktionen, die die vorherigen Schritte „ungeschehen" machen (Hotel stornieren, Flug erstatten). Wichtig: Kompensation ist semantisch, kein exaktes Rollback — Geld wird erstattet, die Zeit nicht zurückgedreht. Zwei Stile: Choreografie (Dienste reagieren auf die Events der anderen) oder Orchestrierung (ein zentraler Koordinator steuert alles). Die Kompensationen müssen idempotent sein. Ein Grundpfeiler der Microservice-Architektur, eng verwandt mit verteilter Transaktion und Savepoint.

← Zurück zum Lexikon