分散トランザクション
Distributed Transaction
ぶんさんとらんざくしょん
複数のサイト(データベースやリソース)にまたがって更新を行うトランザクション。すべてのサイトで更新を確定するか、すべて取り消すかをそろえる必要があり、2相コミットメントなどのプロトコルで原子性を保証する。サイトの数が増えるほど待ちや障害の影響が大きくなるので、マイクロサービスでは補償トランザクションを使うSagaパターンで結果整合性をとることもある。
Related
他の資格での定義
複数のサイトのデータベースにまたがって実行されるトランザクション。すべてのサイトで更新を確定するか、すべて取り消すかをそろえるため、2相コミットメントなどで制御する。障害で参加するサイトが確定と取消しのどちらにも進めなくなる(ブロッキング)ことがあり、マイクロサービスではSagaパターンと補償トランザクションで整合性を取る方法も使われる。
複数のサイトのデータベースにまたがって実行されるトランザクション。すべてのサイトで更新を確定するか、すべて取り消すかをそろえるため、2相コミットメントなどで制御する。障害で参加するサイトが確定と取消しのどちらにも進めなくなる(ブロッキング)ことがあり、マイクロサービスでは補償トランザクションで整合性を取る方法も使われる。
Past Exams
過去問での出題
過去問で 9 回出題(応用情報技術者試験 5・ITパスポート試験 1・データベーススペシャリスト試験 1・情報処理安全確保支援士試験 1・高度試験 午前Ⅰ 1)
- 令和6年度 秋期 応用情報技術者試験 午前 問27(IPA の PDF を新しいタブで開きます)
- 令和6年度 秋期 応用情報技術者試験 午前 問31選択肢(IPA の PDF を新しいタブで開きます)
- 令和元年度 秋期 応用情報技術者試験 午前 問30(IPA の PDF を新しいタブで開きます)
- 平成29年度 春期 ITパスポート試験 問78選択肢(IPA の PDF を新しいタブで開きます)
- 平成27年度 秋期 応用情報技術者試験 午前 問7選択肢(IPA の PDF を新しいタブで開きます)
- 平成27年度 春期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21(IPA の PDF を新しいタブで開きます)
- 平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13(IPA の PDF を新しいタブで開きます)
- 平成21年度 秋期 応用情報技術者試験 午前 問31(IPA の PDF を新しいタブで開きます)
- 平成21年度 秋期 高度試験 午前Ⅰ 問11(IPA の PDF を新しいタブで開きます)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、原子性を保証する制御。障害が起きても途中までの更新が残らないようにする。複数のサイトにまたがる分散データベースでは、2相コミットメントなどのプロトコルで全サイトの確定・取消しをそろえる。
トランザクションが備えるべき4つの性質。全部実行されるか全く実行されないかの原子性(Atomicity)、実行前後でデータの整合性が保たれる一貫性(Consistency)、同時に実行される他のトランザクションの影響を受けない独立性(Isolation)、確定した結果が障害でも失われない耐久性(Durability)である。DBMSはコミットメント制御、同時実行制御、ログによる障害回復でこれらを実現する。
すでにコミットした処理の効果を、逆向きの処理を実行して打ち消すトランザクション。複数のサービスにまたがる長い業務処理(Sagaパターン)では全体を1つのトランザクションでロックできないので、途中の処理が失敗したら、完了済みの各処理に対応する補償トランザクション(予約の取消し、返金など)を実行する。元の状態に厳密に戻るとは限らず、その間に他の処理が中間状態を参照し得ることも考慮する。
複数のサービスにまたがる処理の整合性を保つため、各サービスの処理をTry(資源の仮押さえと業務上の検査)、Confirm(仮押さえした内容の確定)、Cancel(仮押さえの取消し)の3つの操作に分けて実装する方式。調整役が全サービスにTryを依頼し、すべて成功したらConfirmを、1つでも失敗したらCancelを指示する。2相コミットメントに似た手順を業務処理として実現するもので、データベースのロックを長く持ち続けずに済む。
ネットワークで結ばれた複数のサイトにデータを分けて配置しながら、利用者からは1つのデータベースとして扱えるようにしたもの。データの所在や複製の有無を意識させない透過性を備え、負荷の分散と可用性の向上を図れるが、サイトにまたがる更新の整合性を保つため、2相コミットメントなどの制御が必要になる。
分散データベースで、複数のサイトにまたがるトランザクションの原子性を保証するための制御方式。第1相で調停役が各サイトにコミットの準備ができたかを問い合わせ、全サイトが可と答えた場合だけ第2相でコミットを指示し、1つでも否なら全サイトでロールバックさせる。
