トランザクションの並行制御において、変更消失(lost Update)の問題、コミットされていない依存性(uncommitted dependency)の問題、不整合分析(inconsistent analysis)の問題が起こる可能性がある。
これらの問題を解決する技術と、その技術を使うことによって新たに発生する問題の組合せはどれか。
解決する技術 | 新たに発生する問題 | |
ア | 時刻印アルゴリズム | デッドロック |
イ | 時刻印アルゴリズム | ロックによる待ち |
ウ | ロック | 更新矛盾 |
エ | ロック | デッドロック |
答え エ
【解説】
複数のトランザクション(処理、プロセス)が同一の資源(データベース)へのアクセスを行なうとき、正しく処理を行なうためには、アクセスする資源を占有(ロック)して、他のトランザクションからのアクセスを制限する必要がある。
資源を占有したときに新たに発生する問題としては、2つのトランザクションが他方が占有している資源を占有しにいって、占有待ち状態で処理が止まってしまうデッドロックが発生することである。
なお、デッドロックを防ぐためには、全てのトランザクションでロックする資源の順番を同じにすることである。
【キーワード】
・トランザクションの並行制御