Skip to content
Latchkey

分散トランザクションとは?

分散トランザクションは、2つのデータベースや複数のサービスなど、1つより多くの独立したリソースに触れる作業単位であり、そのすべてが commit するか、どれも commit しないかを要求します。どの参加者も途中で障害し得るため、そのオールオアノッシングな結果をシステム間で調整するのは困難です。two-phase commit や補償 saga のようなプロトコルが管理に使われます。

なぜ重要か

システムをまたぐアトミシティは、1つのデータベース内よりはるかに難しく、単純な手法では障害時にデータが中途半端に更新されたままになります。分散トランザクションを認識することで、調整戦略が必要だとわかります。

関連ガイド