平成27年度 春期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21
データベース
2相コミットプロトコルの問題
分散トランザクション処理で利用される 2 相コミットプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この 2 相コミットプロトコルに関する記述のうち,適切なものはどれか。
- ア参加者は,フェーズ 1 で調停者にコミット了承の応答を返してしまえば,フェーズ 2 のコミット要求を受信していなくても,ローカルにコミット処理が進められる。
- イ調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
- ウ一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば,5 個のシステム(プログラム)が関与している場合,調停者の数が 2,参加者の数が 3 となり得る。
- エフェーズ 1 で応答のない参加者が存在しても,調停者は強制的にそのトランザクションをコミットすることができる。
答えと解説を見る
✓ これが正解イ調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
解説
調停者の障害で参加者が待ち続ける事態が起こり得ます。
2 相コミットプロトコルでは、まずフェーズ 1 で調停者が各参加者にコミットできるかを尋ね、参加者は準備を整えて了承を返します。フェーズ 2 で調停者は、全員の了承がそろえばコミットを、そうでなければロールバックを指示します。了承を返した参加者は、最終的な指示を受け取るまで自分では結論を出せません。この状態で調停者に障害が起きると、参加者は回復を待つしかなく、コミットもロールバックもできなくなります。これが 2 相コミットの弱点です。
ほかの選択肢はなぜ違うのか
- ア参加者は,フェーズ 1 で調停者にコミッ…:フェーズ1で了承を返した参加者は、準備を整えた状態で待つだけです。フェーズ2の指示がロールバックになる場合もあるので、コミット要求を受け取る前に独断で進めることはできません。
- ウ一つの分散トランザクションに複数の調停者…:一つの分散トランザクションでコミット処理をまとめる調停者は1つです。調停者が複数いると結論が割れるおそれがあり、5個のシステムで調停者が2つという構成にはなりません。
- エフェーズ 1 で応答のない参加者が存在し…:フェーズ1で応答のない参加者がいれば、全員の了承はそろっていません。この場合、調停者はトランザクション全体をロールバックさせる必要があり、強制的にコミットはできません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
出典:平成27年度 春期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問21:コミット処理を完了するタイミング(トランザクション)
- 令和3年度 春期 午前Ⅱ 問21:デッドロックに関する問題(トランザクション)
- 令和2年度 10月 午前Ⅱ 問21:コミット処理を完了するタイミング(トランザクション)
- 平成30年度 春期 午前Ⅱ 問21:コミットに関する問題(トランザクション)
- 平成26年度 秋期 情報セキュリティスペシャリスト試験 午前Ⅱ 問21:デッドロックが発生しているもの(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)