多版同時実行制御(MVCC)の特徴のうち、適切なものはどれか。
ア | アプリケーションプログラムからデータに対する明示的なロックをかけることができない。 |
イ | データアクセスの対象となる版をアプリケーションプログラムが指定する必要がある。 |
ウ | データ書込みに対して新しい版を生成し、同時にデータ読み取りが実行されるとき排他制御による待ちを回避する。 |
エ | デッドロックは発生しない。 |
答え ウ
【解説】
複数のトランザクションがDBMSに同時にアクセスする場合、これまでのデータベースではロック(専有ロック、共有ロック)機構を使用していましたが、ロック機構ではロック解除を待つことにより処理時間の増大やデッドロックによる障害などの問題がありました。
それに対し、多版同時実行制御(MVCC)はデータベースへの問い合わせ実行の際、各トランザクションは処理の基礎となっているデータの現在の状態に拘らず、遡ったある時点におけるスナップショットを参照します。
また、データ書込みに対して新しい版を生成し、同時にデータ読み取りが実行されるとき排他制御による待ちを回避します。(ウ)
【キーワード】
・多版同時実行制御