正答4
解説
正解は4です。
DBMSの排他制御が何のために必要かを問う問題です。
排他制御は、あるトランザクションがデータを使っている間、ほかのトランザクションの更新を待たせる仕組みです。
同時更新によってデータの矛盾が起きることを防ぎます。
【選択肢別解説】
1:× 排他制御は処理速度を上げるためのものではありません。
むしろ待ちが発生するため、処理速度は低下する方向に働きます。
2:× 排他制御の範囲(ロックの粒度)を大きくすると、待たされるトランザクションが増えます。
処理速度を上げるには、範囲はできるだけ小さくするほうが有利です。
3:× デッドロックは、複数のトランザクションが互いのロック解除を待ち合う状態です。
排他制御を行うことで起こる現象であり、排他制御で防止できるものではありません。
4:○ 複数の人が同じデータを同時に更新すると、一方の更新が失われることがあります。
これを防ぐため、同時に更新される可能性のあるデータには排他制御が必要です。
【ポイント】
同時更新で一方の結果が上書きされて消える現象を、ロストアップデート(更新の喪失)といいます。
ロックの粒度は、小さいほど同時実行性が高く、管理の負担は大きくなります。