あるトランザクション処理は、@共有領域から値を読み取り、A読み取った値に数値を加算し、B結果を共有領域に書き込む手順からなっている。
複数のトランザクションを並列に矛盾なく処理するためには、トランザクション処理のどの時点で共有領域をロックし、どの時点でロックを解除するのが適切か。
共有領域のロック | 共有領域のロック解除 | |
ア | 時点(a) | 時点(c) |
イ | 時点(a) | 時点(d) |
ウ | 時点(b) | 時点(c) |
エ | 時点(b) | 時点(d) |
答え イ
【解説】
@の共有領域から値を読み取ってから、Bの結果を共有領域に書き込みまでの間に、他のトランザクションが共有領域の書き込みを行うと、不整合が生じてしまうため、共有領域のロックは時点(a)で行いロック解除は時点(d)で行います。
【キーワード】
・ロック