平成22年度 春期 午前Ⅱ 問17
トランザクション処理
デッドロックに関する問題
DBMS において,デッドロックを検出するために使われるデータ構造はどれか。
- ア資源割当表
- イ時刻印順管理表
- ウトランザクションの優先順管理表
- エ待ちグラフ
答えと解説を見る
✓ これが正解エ待ちグラフ
解説
トランザクション間の待ち関係を表す待ちグラフで閉路を探します。
待ちグラフは、トランザクションを節点とし、あるトランザクションが別のトランザクションの持つロックの解放を待っているとき、待つ側から待たれる側へ向きのある辺を引いたグラフです。デッドロックは、互いに相手の解放を待ち合って先へ進めない状態なので、待ちグラフの中で辺をたどると元の節点に戻ってくる閉路として現れます。DBMS は待ちグラフを作って閉路があるかを調べることで、デッドロックを検出できます。デッドロックの検出と問われたら、待ち合う関係を図にして輪になっているかを見る、と結び付けると判断できます。
ほかの選択肢はなぜ違うのか
- ア資源割当表:資源割当表という名前のとおり、どの資源をどこに割り当てたかを示す情報です。デッドロックの検出に必要なのは、どのトランザクションがどれを待っているかという待ちの関係で、割当ての一覧だけでは待ち合いの輪をたどれません。
- イ時刻印順管理表:時刻印は、トランザクションに開始時刻などの印を付け、その順序に従って処理を進めてよいかを決める同時実行制御に使われます。ロックを使わずに順序を保つための情報であり、待ち合いの輪を検出するためのものではありません。
- ウトランザクションの優先順管理表:トランザクションの優先順位は、どれを先に処理するかや、デッドロックが起きたときにどれを取り消すかを決める参考にはなり得ます。しかし優先順位の一覧だけでは待ち合いの関係を表せず、デッドロックを検出できません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問17
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問2:概念データモデルの説明(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)