MVCC (多版同時実行制御)
出典: 令和7年度 秋期 応用情報技術者試験 午前 問29 (IPA)
RDBMS において,同じデータ項目の異なる版を用意することによって,トランザクションの同時実行性を高める仕組みはどれか。
- ア 2 相ロッキングプロトコル
- イ MVCC
- ウ WAL プロトコル
- エ 共有ロック
正解と解説を見る
正解: イ
- ア: 2 相ロッキングは、ロックをかける段階と外す段階を分けて直列化可能性を保証する方式です。データの版を用意する仕組みではありません。
- イ: 同じデータの複数の版を保持し、読み取りと更新が互いを待たずに済むようにするのが MVCC なので正しい答えです。
- ウ: WAL (Write Ahead Log) は、データベースを更新する前にログを先に書き出す方式で、障害回復のための仕組みです。
- エ: 共有ロックは、読み取り中のデータを他のトランザクションが更新できないようにするロックです。版を用意する仕組みではありません。
ポイント
- MVCC (Multi-Version Concurrency Control: 多版同時実行制御): データを更新するときに新しい版を作り、古い版も残しておく仕組みです。
- 読み取るトランザクションは古い版を読めるので、更新中のデータでもロックを待たずに読めます。読み取りと書き込みが互いを待たないので、同時実行性が高まります。