令和7年度 秋期 午前Ⅱ 問17
トランザクション処理
デッドロックに関する問題
DBMSにおいて,トランザクション間でデッドロックが発生していることを検出するために使用するものはどれか。
- ア2相ロック
- イ時刻印アルゴリズム
- ウチェックポイント
- エ待ちグラフ
答えと解説を見る
✓ これが正解エ待ちグラフ
解説
デッドロックの検出には、待ちの関係を表す待ちグラフを使います。
待ちグラフは、トランザクションを点、あるトランザクションが別のトランザクションのロック解除を待っている関係を矢印で表した有向グラフです。DBMS はこのグラフを作り、矢印をたどって元のトランザクションに戻ってくる閉路があるかを調べます。閉路があれば、その中のトランザクションは互いに相手を待ち合っていて先へ進めない、つまりデッドロックが発生していると判断できます。デッドロックを検出したら、閉路の中のトランザクションを一つ選んでロールバックし、待ちを解きます。見分ける軸は、発生したデッドロックを検出する道具か、ロックの手順や時刻による制御、回復のための仕組みかです。閉路があればデッドロックと覚えておきましょう。
ほかの選択肢はなぜ違うのか
- ア2相ロック:2相ロックは、ロックの獲得と解除を二つの段階に分ける同時実行制御の規則で、直列化可能性を保証するためのものです。デッドロックを検出する道具ではなく、この規則を守っていてもデッドロックは起こり得ます。
- イ時刻印アルゴリズム:時刻印アルゴリズムは、トランザクションに付けた時刻の順序に従ってデータへのアクセスを制御する同時実行制御の方式です。ロックを使わないので待ちの関係を調べるものではなく、デッドロックを検出する手段ではありません。
- ウチェックポイント:チェックポイントは、更新内容を定期的にデータベースに書き出し、障害が起きたときの回復処理の範囲を短くするための仕組みです。障害回復のためのものであり、デッドロックの検出には使いません。
この問題の用語
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- アルゴリズム問題を解くための、決まった手順や考え方そのものです。同じ問題でも手順によって、処理にかかる時間や必要な記憶量が変わります。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問17
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問2:概念データモデルの説明(DBMS)
- 平成28年度 春期 午前Ⅱ 問11:等結合だけに適用できるもの(アルゴリズム)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)