平成29年度 春期 データベーススペシャリスト試験 午前II 問15
【問題15】
2相ロック方式に従うトランザクションに関する記述のうち,適切なものはどれか。
同一トランザクション内であれば,アンロック後にロックを行うことができる。
トランザクションが利用するロックは,専有ロックに限られる。
トランザクションの競合直列可能性が保証される。
【解説】
2相ロック方式(Two-Phase Locking)は、データベーストランザクションの整合性を保つためのロック方式です。これには、以下の2つのフェーズがあります:
- 拡張フェーズ(Growing Phase): トランザクションが必要なロックを取得する段階で、ロックを追加することができますが、解除はできません。
- 縮小フェーズ(Shrinking Phase): トランザクションがロックを解除する段階で、ロックの追加はできません。
ア: デッドロックが発生することはない。
誤り。2相ロック方式は競合直列可能性を保証しますが、デッドロックは発生する可能性があります。
イ: 同一トランザクション内であれば,アンロック後にロックを行うことができる。
誤り。縮小フェーズに入ると、ロックの追加はできなくなります。
ウ: トランザクションが利用するロックは,専有ロックに限られる。
誤り。2相ロック方式では、共有ロックや専有ロックを状況に応じて使用します。
エ: トランザクションの競合直列可能性が保証される。
正しい。2相ロック方式では、トランザクション間の競合直列可能性が保証されます。
【答え】
エ: トランザクションの競合直列可能性が保証される。
出典:平成29年度 春期 データベーススペシャリスト試験 午前II 問15