トランザクションPが資源Xの値を4から5に更新した後にトランザクションQが開始し、Pがコミットする前にQが資源Xを参照しようとした。 Qの挙動のa、bに入れる字句の組合せはどれか。 ただし、隔離性水準はREAD COMMITTEDとする。
[Qの挙動]
同時実行制御が単版2相ロッキングプロトコルの場合Qは a 、他版同時実行制御(MVCC)の場合Qは b 。
| a | b | |
| ア | Pがコミット完了するまで待機した後、Xの値5を得る。 | Pのコミット完了を待機することなく、Xの値4を得る。 |
| イ | Pがコミット完了するまで待機した後、Xの値5を得る。 | Pのコミット完了を待機することなく、Xの値5を得る。 |
| ウ | Pのコミット完了を待機することなく、Xの値4を得る。 | Pのコミット完了を待機することなく、Xの値5を得る。 |
| エ | Pがコミット完了するまで待機した後、Xの値5を得る。 | Pのコミット完了を待機することなく、Xの値4を得る。 |
答え ア
【解説】
単版2相ロッキングプロトコルは、複数のトランザクションが同時(並列)に動作するシステムで行われる資源の占有(ロック)方式で、トランザクションPが資源Xをロックしてから更新しコミット後に占有を解除するまでトランザクションQの処理は待たされます。
他版同時実行制御(MultiVersion Concurrency Control、MVCC)は、複数のユーザから同時に処理要求が行われた場合でも同時並行性を失わずに処理し、かつ情報の一貫性を保証する仕組みで、トランザクションPが資源Xの値を更新してもコミットするまでは更新前の値が読み出されます。
| a | b | |
| ア | Pがコミット完了するまで待機した後、Xの値5を得る。 | Pのコミット完了を待機することなく、Xの値4を得る。 |
【キーワード】
・隔離性水準