平成28年春期試験問題 午前Ⅱ 問13

DBMSにおいて,トランザクション間で,デッドロックが発生していることを検出するために使用するものはどれか。

  • 2相ロック
  • 時刻印アルゴリズム
  • チェックポイント
  • 待ちグラフ
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
待ちグラフは、実行中のトランザクションを各ノード、データのアンロック待ちの様子を矢印(有向辺)で表現したグラフで、デッドロックの検出に使用されます。
13.png
X→Yは、トランザクションXがトランザクションYがロックしている資源のアンロックを待っていることを表し、待ちグラフ内に閉路(出発点に戻るループした経路)があればデッドロックが発生していると判断できます。このときDBMSはいずれかのトランザクションを強制的にアボート(中止)させることでデッドロックを解消します。

したがって「エ」が正解です。
  • 2相ロックは、トランザクション処理で読書きが必要になったデータにその都度ロックをかけていき、必要となる全てのロックを獲得した後にだけロック解除ができる方式です。
  • 時刻印アルゴリズムは、トランザクションごとに付与された開始時刻の情報(時刻印)をもとにデッドロックの発生を防止する仕組みです。資源へのロックが競合するとトランザクションの時刻印を比較して、一方を強制的に中止するなどしてデッドロックを未然に防ぎます。
  • チェックポイントは、ある時点のメモリバッファ内の更新情報を、実行中のトランザクションの分も含めて、強制的にデータベースに書き出す処理です。定期的に行うことで効率のよい障害時回復を可能にします。
  • 正しい。

Pagetop