令和3年度 秋期 データベーススペシャリスト試験 午前II 問16
2025年6月30日
【問題16】
多版同時実行制御(MVCC)の特徴のうち,適切なものはどれか。
アプリケーションプログラムからデータに対する明示的なロックをかけることができない。
データアクセスの対象となる版をアプリケーションプログラムが指定する必要がある。
データ書込みに対して新しい版を生成し,同時にデータ読取りが実行されるときの排他制御による待ちを回避する。
【解説】
MVCCはデータの複数バージョンを管理し、読み取り操作が書き込み操作をブロックすることなく実行可能になります。
データの読み取りは、トランザクション開始時点のスナップショットを基に行われるため、一貫性のあるビューが保証されます。
書き込み操作は新しいバージョンを生成し、古いバージョンを保持することで、読み取りと書き込みの競合を回避します。
ア: アプリケーションプログラムからデータに対する明示的なロックをかけることができない。
誤り。MVCCはロックを最小限に抑える仕組みですが、必要に応じてロックを使用することも可能です。
イ: データアクセスの対象となる版をアプリケーションプログラムが指定する必要がある。
誤り。MVCCでは、データの対象バージョンをトランザクションの開始時点で自動的に選択します。アプリケーションが明示的に指定する必要はありません。
ウ: データ書込みに対して新しい版を生成し,同時にデータ読取りが実行されるときの排他制御による待ちを回避する。
正しい。MVCCの主要な特徴です。新しいバージョンを生成することで、データの読み取りと書き込みの競合を回避し、効率的な同時実行制御を実現します。
エ: デッドロックは発生しない。
誤り。MVCCにおいても、ロックを使用する場合にはデッドロックが発生する可能性があります。
【答え】
ウ: データ書込みに対して新しい版を生成し,同時にデータ読取りが実行されるときの排他制御による待ちを回避する。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前II 問16