データベースにおけるデッドロックに対処する方法に関する次の記述で不適切なものを選べ。
@ データ項目に順序をつけてその順番どおりにロックをかけるデッドロックの予防法の一つとして木規約がある。
A ロックをかける相とロックを解除する相を分離する二相ロック方式ではデッドロックは発生しない。
B トランザクションの同時実行方式の中で、楽観的方式と時刻印順方式はデッドロックを発生させない。
C デッドロックを検出し、デッドロックを起こしているトランザクションのいくつかを強制的に中断させる方式として、時間監視による方法と待ちグラフによる方式が知られている。
D 時間監視による方法は、トランザクションがデータ項目を継続してロックしている時間が一定時間を越えるとデッドロックが発生したとみなす方式である。
A
@ 木規約はデッドロックは発生しない。
A 不適切である。二相ロック方式でもデッドロックは発生しうる。二相ロック方式は、必要なロック獲得命令をすべて実行して処理を実行した後に、ロック解除命令を実行できる方式である。
B 楽観的方式は、データ更新の直前に、他のユーザーがデータ更新していないかをチェックし、更新されていないことが確認できが場合に対象データをロックする方法である。時刻印順方式は、トランザクションの開始時刻と、データの更新時刻を比較し、データの更新時刻がトランザクション開始時刻より遅ければ更新しないようにする方式である。
C 待ちグラフは、データベースのアンロック待ちの状況表した有向グラフである。
D 適切である。
W−23 | 目次 | W−25 |