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