平成30年度 春期 データベーススペシャリスト試験 午前II 問16
【問題16】
DBMSにおいて、デッドロックを検出するために使われるデータ構造はどれか。
【解説】
デッドロックとは、複数のトランザクションが互いに資源を占有し、相手が解放するまで待ち続けることで、処理が進まなくなる状態を指します。デッドロックの検出には、以下のデータ構造が使用されます:
【待ちグラフ(Wait-for Graph)】
- ノード:トランザクションを表します。
- 辺:トランザクション間の「待ち」の関係を表します(例:トランザクションAがトランザクションBの保持している資源を待っている)。
- サイクル:このグラフに閉路(サイクル)が存在する場合、デッドロックが発生していることを示します。
他の選択肢について:
- ア: 資源割当表
資源の割り当て状況を管理する表ですが、デッドロック検出に直接用いられるものではありません。
- イ: 時刻印順管理表
トランザクションの実行順序を管理しますが、デッドロック検出には関与しません。
- ウ: トランザクションの優先順位管理表
トランザクションの優先順位を管理するための表ですが、これもデッドロック検出には直接関係ありません。
出典:平成30年度 春期 データベーススペシャリスト試験 午前II 問16