令和7年度 秋期 午前 問29
データベース
多版同時実行制御に関する問題
RDBMS において,同じデータ項目の異なる版を用意することによって,トランザクションの同時実行性を高める仕組みはどれか。
- ア2 相ロッキングプロトコル
- イMVCC
- ウWAL プロトコル
- エ共有ロック
答えと解説を見る
✓ これが正解イMVCC
解説
版を分けて競合を避ける多版方式のことです。
この設問は、関係データベース管理システムで、同じデータ項目について異なる版を用意することで、複数のトランザクションが同時に走れるようにする仕組みを選ばせています。ですから、選び方の軸は、その仕組みが待たせて直列化する方式か、それとも版を分けて競合そのものを避ける方式かという一点で見分けます。異なる版を用意するという設問の言い回しは、更新を行うたびに古い側の姿を残して置き、参照する側は自分が始まった時点で見えていた版を読むという、多版方式そのものを指しています。この方式では、読む側は書き手の完了を待たず、書く側も読み手を止めません。同じ行を巡って両者がぶつかる場面が減るため、待ちの発生を抑えて、同時に走れる数を増やせます。古い版が積み上がるので、それを回収する道具を後段に用意しておく必要があります。
ほかの選択肢はなぜ違うのか
- ア2 相ロッキングプロトコル:取得と解放を、増える段と減る段の2つに分けた手続きで、直列化可能な順序を保つ古典的な仕組みを挙げています。単一の版だけを扱うので、参照と更新のどちらかが相手を待つ場面が現れ、異なる版を用意して同時実行を高めるという設問の言い回しには合いません。
- ウWAL プロトコル:実データを書く前に、更新の内容を先にログへ書き出しておき、障害の際にはそのログから後処理をする仕組みを挙げています。役目は障害からの復旧であり、同時に走らせる数を増やすための仕組みそのものではなく、設問の狙いとは領域が違います。
- エ共有ロック:複数の参照側が同時に取得できる読み取り用のロックを挙げています。これも同じデータ項目に対して単一の版を扱うロックの一種で、書き手との共存では相手を待たせる場面が発生します。異なる版を用意して競合を避ける方式には該当しません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
出典:令和7年度 秋期 応用情報技術者試験 午前 問29
同じ用語が出る問題
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
- 令和6年度 春期 午前 問28:スタースキーマに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)