サーガパターンと補償トランザクションとは?さーがぱたーんとほしょうとらんざくしょん
サーガパターンと補償トランザクションとは、サービスをまたぐ長い業務処理を、ローカルトランザクションの連なりとして実現する設計。途中で失敗したら、既に完了した処理を打ち消す補償処理を逆順に実行して整合を回復する。分散ロックを避けられる代わりに、途中の状態が外から見える点を業務として許容する必要がある。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →具体例
旅行予約で「航空券確保→ホテル確保→決済」と進み、決済失敗時にホテル取消・航空券取消を実行する。補償は物理的な取り消しではなく「取消レコードの追加」として設計するのが定石で、これなら再実行しても二重取消にならない。
試験での引っ掛け
2相コミットの代替として語られるが、性質は違う。2相コミットは原子性を保証するがロックが長引き可用性を落とす。サーガは原子性を諦めて可用性を取り、結果整合で辻褄を合わせる——「サーガでもACIDが保たれる」は誤り。補償は「元に戻す」のではなく「打ち消す業務を追加する」ものなので途中経過は他から見えてしまい、メール送信のように打ち消せない処理は最後に置く設計が要る。
関連用語
出典・参考
公式シラバスの3 技術要素 > 4. トランザクション処理 > (1) 同時実行制御(排他制御)に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。