平成29年春期試験問題 午前Ⅱ 問15
問15解説へ
2相ロック方式に従うトランザクションに関する記述のうち,適切なものはどれか。
- デッドロックが発生することはない。
- 同一トランザクション内であれば,アンロック後にロックを行うことができる。
- トランザクションが利用するロックは,専有ロックに限られる。
- トランザクションの競合直列可能性が保証される。
正解 エ問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
中分類:データベース
小分類:トランザクション処理
広告
解説
2相ロック方式は、トランザクション処理で読書きが必要になったデータにその都度ロックをかけていき、全てのロックを獲得した後にだけロックの解除を行うことができるロッキングプロトコルです。ロックを獲得する段階が第1フェーズ(成長相)、使い終わった資源のロックを解除するのが第2フェーズ(縮退相)です。ロックをかけたデータは以後必要が無くなるまで他のトランザクションの書込み用に読み込まれることはなくなるため、トランザクションの相反直列化可能性が保証されます。2相ロック方式は、多くのDBMSで採用されています。
- 資源を排他的に使用するというロッキングプロトコルの仕様上、デッドロックが発生する可能性があります。
- 2層ロック方式では必要なロックをすべて獲得した後にのみアンロックできます。すなわちアンロック後のロックは2相ロック方式では禁止されます。
- 共有ロックも使用できます。
- 正しい。2相ロック方式とロック獲得規則に従う限り競合直列可能性が保証されます。
広告