平成21年度 秋期 午前 問31
データベース
2相コミットプロトコルの問題
分散トランザクション処理で利用される 2 相コミットプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この 2 相コミットプロトコルに関する記述のうち,適切なものはどれか。
- ア参加者は,フェーズ 1 で調停者にコミット了承の応答を返してしまえば,フェーズ 2 のコミット要求を受信していなくても,ローカルにコミット処理が進められる。
- イ調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
- ウ一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば,5 個のシステム(プログラム)が関与している場合,調停者の数が 2,参加者の数が 3 となり得る。
- エフェーズ 1 で返答のない参加者が存在しても,調停者は強制的にそのトランザクションをコミットすることができる。
答えと解説を見る
✓ これが正解イ調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
解説
調停者が倒れると、参加者が動けなくなる場面があります。
分散した仕組みで一つの処理を全員でそろえて終わらせる、という決まりごとを扱う問いです。この決まりは、調停者と呼ぶ役が、参加している側全員に対して二段階で問い合わせる形になっています。前の段で全員の了承を集めた後、後の段で全員に終わらせる指示を送る、という順です。ところが、前の段で了承を集めきった後で、後の段を送る前に調停者そのものが倒れると、参加者は指示を受け取れないままになります。この場面では、勝手に終わらせても、勝手に取り消しても、後で調停者が復帰したときと食い違う恐れがあるため、身動きが取れません。この決まりの弱点として知られる、この足止めの姿を述べた記述はどれか、を問うています。要点は、後の段の指示を待つ位置に置かれた参加者が動けなくなる、という一点にあります。
ほかの選択肢はなぜ違うのか
- ア参加者は,フェーズ 1 で調停者にコミッ…:フェーズ 1 で了承の返答を返してしまえば、フェーズ 2 の指示を待たなくても、参加者は自分の側で終わらせに進んでよいと述べています。この決まりは、後の段の指示を待たずに進むことを許していません。
- ウ一つの分散トランザクションに複数の調停者…:一件の分散した処理の中に、この決まりを取り仕切る側が複数いてよいと述べています。この決まりでは、取り仕切る側は一件の処理につき一体だけと決められており、複数を並べる作りにはなっていません。
- エフェーズ 1 で返答のない参加者が存在し…:フェーズ 1 で返答のない参加者がいても、取り仕切る側が全体を強制的に終わらせにいけると述べています。返答が揃わないまま終わらせに進むと、取り消すべき側と終わらせる側が食い違うため、この場面では取り消しに倒します。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
出典:平成21年度 秋期 応用情報技術者試験 午前 問31
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)