IPA過去問ドリル

平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15

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

2相ロック方式に従うトランザクションに関する記述のうち,適切なものはどれか。

出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15

正解:エ

解説

2相ロック方式(2PL)は,トランザクションの実行を,ロックを獲得するだけの拡張フェーズと,ロックを解放するだけの縮退フェーズの2段階に分け,一度ロックの解放を始めたら以降新たなロックを獲得しないという規則に従う方式です。この規則に従うトランザクションは,同時実行された結果が何らかの逐次実行の結果と一致する競合直列可能性(conflict serializability)が保証されることが知られています。

選択肢ごとの解説

  • 誤り。2相ロック方式に従っていても,複数のトランザクションが互いに相手の保持するロックの解放を待ち合う状況(デッドロック)は発生し得ます。
  • 誤り。2相ロック方式では,一度ロックの解放(アンロック)を行った後に新たなロックを獲得することは禁止されており,これが「2相」という名前の由来です。設問の記述は2相ロックの規則に反しています。
  • 誤り。2相ロック方式は,共有ロック(読取り用)と専有ロック(書込み用)の両方を利用でき,専有ロックだけに限られるわけではありません。
  • 正しい。2相ロック方式に従うトランザクションは,同時実行の結果が何らかの順序での逐次実行の結果と一致する競合直列可能性が保証されることが理論的に知られています。
データベーススペシャリストの過去問を演習モードで解く