IT PASSPORT
ITパスポートの問題解説
問題
互いに相手がロックしているデータの解放を待ち続けてしまい、どちらのトランザクションも処理を進められなくなる状態を指す用語はどれか。
- ア ロールバック
- イ コミット
- ウ オーバーフロー
- エ デッドロック
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識
正解と解説
正解:デッドロック
解説:トランザクションAがデータXをロックしてYを待ち、同時にトランザクションBがデータYをロックしてXを待つと、どちらも相手の解放を待ち続けて永遠に先へ進めなくなります。これがデッドロックです。データベース管理システムはこうした状態を検知すると、一方のトランザクションを強制的にロールバック(処理の取り消し)してロックを解放し、もう一方を進められるようにします。なお、デッドロックの解消手段としてロールバックが使われるため、両者は関連はしますが意味は別物です。コミットは更新を確定する操作で、混同しないようにしましょう。
覚え方:デッドロック=「お互い待ちぼうけで膠着」。確定=コミット、取り消し=ロールバック、と操作名とセットで整理すると区別がつきます。
他の選択肢はなぜ違う?
- アロールバックは、トランザクションの処理を取り消して開始前の状態に戻すことで、待ち続けて止まる状態そのものを指す用語ではありません。
- イコミットは、トランザクションの更新内容を確定させてデータベースに反映する操作で、設問の状態とは異なります。
- ウオーバーフローは、計算結果や領域が扱える範囲を超えてあふれることで、ロックの待ち合わせとは関係ありません。
この問題について
IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。
IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。