平成25年度 春期 午前Ⅱ 問13
トランザクション処理
2相コミットに関する問題
2相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきかロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。
- ア調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
- イ調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
- ウ調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
- エ調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
答えと解説を見る
✓ これが正解イ調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
解説
決定を送る直前の障害で、準備を終えた参加者は結論を決められなくなります。
2相コミットでは、調停者がまずコミットできるかを参加者に問い合わせ、参加者は可否を返します。可を返した参加者は、調停者の決定が届くまで、自分だけでコミットもロールバックもできない待ちの状態に入ります。全員の可がそろえば調停者はコミットを、一つでも否があればロールバックを決めて参加者に送ります。この決定を送る直前に障害が起きると、可を返した参加者には決定が届かず、ほかの参加者がどう返答したかも分からないので、どちらにすべきか判断できなくなります。参加者が自分では決められない区間は、可を返してから決定を受け取るまでだと押さえると、障害の位置を選べます。
ほかの選択肢はなぜ違うのか
- ア調停者のトランザクションが,コミット又は…:問合せを送る前の障害なら、参加者はまだ可否を返しておらず、待ちの状態に入っていません。参加者が自分の判断でロールバックしても全体の整合は崩れないので、判断に困ることはありません。
- ウ調停者のトランザクションに,コミット又は…:応答が調停者に届かない限り、調停者はコミットを決められず、結論はロールバックに定まります。決定がすでに下されて一部の参加者だけに届くような、結論が割れるおそれのある状況とは異なります。
- エ調停者のトランザクションに,コミット又は…:完了の応答を返す時点では、参加者はすでに調停者の決定を受け取り、コミットかロールバックを終えています。完了の連絡が届かなくても、参加者の側で判断に迷うことはありません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問13
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問15:隔離性水準に関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問14:べき等に関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)