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