IPA過去問ドリル

令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問14

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

同時実行制御の手法の一種である楽観的制御法に関する記述として,適切なものはどれか。

出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問14

正解:イ

解説

楽観的制御法(楽観的同時実行制御)は,データにロックを掛けずにトランザクションを実行し,コミットしようとする直前に,実行中の更新対象データが他のトランザクションによって変更されていないか(競合が発生していないか)を検査し,競合がなければコミットするという方式です。ロックを使わないためロック待ちによるオーバーヘッドを避けられる反面,競合が検出された場合はロールバックして再試行する必要があります。

選択肢ごとの解説

  • 誤り。データに順序付けを行い,その順序に従ってロックを掛ける方式は,デッドロックの発生を防止するためのロック順序制御の説明であり,ロックを用いない楽観的制御法の説明ではありません。
  • 正しい。楽観的制御法は,データに対するロックを行わずにトランザクションを実行し,コミットの直前に他のトランザクションとの競合の有無を確認してから,競合がなければコミットを行う方式です。
  • 誤り。分散データベースシステムにおいてコミット可否の問合せをした上でコミット指示を行う方式は,2相コミットプロトコルの説明です。
  • 誤り。ロックが増加する成長フェーズとロックが減少する縮退フェーズの2相から成る制御は,2相ロック方式の説明であり,ロックを用いない楽観的制御法とは異なります。
データベーススペシャリストの過去問を演習モードで解く