令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問17
テクノロジ/データベースDBMS において,トランザクション間でデッドロックが発生していることを検出するために使用するものはどれか。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問17
- ア2 相ロック
- イ時刻印アルゴリズム
- ウチェックポイント
- エ待ちグラフ
正解:エ
解説
デッドロックの検出には,各トランザクションが互いにどのロックの解放を待っているかを表す待ちグラフ(wait-for graph)を用い,グラフ中に循環(サイクル)が存在するかどうかを調べる方法が一般的に使用されます。
選択肢ごとの解説
- ア誤り。2相ロックは,ロックの獲得と解放を2つの局面に分けて行う同時実行制御の方式であり,デッドロックの発生を検出する手法そのものではありません。
- イ誤り。時刻印アルゴリズムは,タイムスタンプの順序に基づいて同時実行制御を行う方式であり,デッドロックを未然に防ぐ方式の一つですが,発生を検出する手法ではありません。
- ウ誤り。チェックポイントは,障害回復の時間短縮のためにデータベースの整合状態を記憶媒体に反映する仕組みであり,デッドロックの検出とは関係ありません。
- エ正しい。待ちグラフを作成し,その中に循環(サイクル)が存在するかどうかを調べることによって,デッドロックの発生を検出できます。