IPA過去問ドリル

令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問16

テクノロジ/データベース

多版同時実行制御(MVCC)の特徴のうち,適切なものはどれか。

出典:令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問16

正解:ウ

解説

MVCC(多版同時実行制御)は,データの更新時に元のデータを上書きせず新しい版(バージョン)を生成して保持する方式です。これによって,書込みトランザクションが新しい版を作成している間も,読取りトランザクションは更新前の版を参照し続けることができ,読取りと書込みが互いにロック待ちをすることなく並行して実行できます。

選択肢ごとの解説

  • 誤り。MVCCを用いていても,アプリケーションが明示的にロック(SELECT FOR UPDATEなど)を掛けることは可能です。
  • 誤り。MVCCでは,通常はトランザクションの開始時点などに応じてDBMS側が参照すべき版を自動的に決定するため,アプリケーションプログラムが版を明示的に指定する必要はありません。
  • 正しい。MVCCはデータ書込み時に新しい版を生成して保持することで,同時に行われるデータ読取りが更新の完了を待つ排他制御による待ちを回避できる方式です。
  • 誤り。MVCCは読取りと書込みの間の競合を緩和する仕組みですが,複数の書込みトランザクション間の競合によるデッドロックまで完全になくすものではありません。
データベーススペシャリストの過去問を演習モードで解く