SkillStack
テクノロジ系29 / 80問

応用情報技術者試験 令和7年度 秋期 午前 問29

RDBMSにおいて、同じデータ項目の異なる版を用意することによって、トランザクションの同時実行性を高める仕組みはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】イ

MVCCはMulti-Version Concurrency Controlの略で、日本語では多版型同時実行制御といいます。同じデータ項目について更新前と更新後などの複数の版を保持し、各トランザクションが開始時点などに対応した版を参照します。読取り処理が更新処理の完了を待たずに済みやすく、読取りと書込みの競合を減らして同時実行性を高められるので、イが適切です。

アの2相ロッキングプロトコルは誤りです。これは、ロックを獲得する成長相と、ロックを解放する縮退相に分け、直列化可能性を確保する方式です。異なる版を用意する仕組みではなく、ロックによって競合を制御します。

ウのWALプロトコルは誤りです。WALはWrite Ahead Loggingの略で、データ本体を書き換える前に更新内容をログへ記録する方式です。障害発生時のロールバックやロールフォワードに用いる回復制御の仕組みであり、複数版による同時実行制御ではありません。

エの共有ロックは誤りです。これは、参照時に設定するロックで、複数トランザクションが同じデータを同時に参照できますが、排他ロックを必要とする更新とは競合します。データの版を分ける方式ではありません。

【ポイント】 MVCCでは、参照処理は一貫した時点のスナップショットを読むため、更新との待合せを減らせます。 一方、不要になった古い版の管理や、同じ行を同時更新した場合の競合処理は必要です。

出典:令和7年度 秋期 応用情報技術者試験 午前 問29
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める