令和5年度 春期 ITサービスマネージャ試験 午前II 問題 問23
テクノロジデータベース
この問題は2023(R5)春 ITサービスマネージャ 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
2相ロッキングプロトコルに従うトランザクションで発生する可能性のある現象はどれか。
解答・解説を読む
正解: 選択肢イ
2相ロッキングプロトコル(2PL) は、データベースのトランザクション処理において、ロックの獲得(成長相)と解放(縮退相)の2つのフェーズを分けて行うことで、直列化可能性(シリアライザビリティ)を保証する並行性制御手法です。
このプロトコルに従うことで、ダーティリード や ノンリピータブルリード などの不整合を防ぐことができます。しかし、複数のトランザクションが互いに必要なデータのロック解放を待ち合う状態に陥る可能性があり、この現象を デッドロック と呼びます。したがって、正解は「イ」となります。
各選択肢の解説
- ア ダーティリード: 他のトランザクションが更新中でコミットされていないデータを読み込んでしまう現象です。2PLではデータがロックで保護されるため発生しません。
- イ デッドロック: 複数のトランザクションが互いのロック解放を待ち合い、永久に処理が進まなくなる現象です。2PLでは、トランザクションが次々とロックを獲得していく過程で発生する可能性があります。
- ウ ノンリピータブルリード: 同一トランザクション内で同じデータを複数回読み込む際、途中で他のトランザクションがデータを更新したため、読み込み結果が異なってしまう現象です。2PLでは必要なデータのロックを維持するため発生しません。
- エ ロストアップデート: 複数のトランザクションが同じデータを同時に更新した結果、一方の更新が上書きされ失われてしまう現象です。2PLの排他制御により発生しません。