令和6年度 秋期 午前 問27
データベース
ロールバックに関する問題
2 相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきかロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。
- ア調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
- イ調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
- ウ調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
- エ調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
答えと解説を見る
✓ これが正解イ調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
解説
可否を答えた後で決定が来ないと動けません。
設問は、2 相コミットで分散トランザクションの原子性を保つ場面で、参加者がコミットすべきかロールバックすべきかを判断できなくなる障害を選ばせています。手がかりは、障害が起きた時点で参加者がどこまで約束を済ませているかという一点です。この手順は、可否を問う段と、集まった答えをもとに決定を伝える段の二段で進みます。参加者は可否に答えた瞬間から、いつでも実行できる状態を保つと約束したことになり、自分の判断で取り消すことができなくなります。そこへ決定が届かないと、資源を確保したまま止まるほかありません。正解は、調停者のトランザクションが決定を参加者に送る直前に障害になった場合です。原子性が崩れるのではなく、原子性を守るために参加者が動けなくなる、という向きで捉えるのが要点です。
ほかの選択肢はなぜ違うのか
- ア調停者のトランザクションが,コミット又は…:可否の問合せがまだ送り出されていない時点での障害です。参加者は何も引き受けていないので、応答が来ないことを見て自分の更新を取り消せば、それで終えられます。
- ウ調停者のトランザクションに,コミット又は…:参加者が可否の答えを返す前の時点での障害です。約束はまだ成立していないため、この参加者も自分の判断で取り消して構わず、迷う場面は生じません。
- エ調停者のトランザクションに,コミット又は…:決定を受けて処理を終えた後、完了の知らせを返す前の時点での障害です。何をするかは既に伝わっているので、知らせを送り直せば足ります。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
出典:令和6年度 秋期 応用情報技術者試験 午前 問27
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
- 令和6年度 春期 午前 問28:スタースキーマに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)