問題
排他制御における「2 相ロック(2PL)」のプロトコルとして正しい説明はどれか。
選択肢
- 1ロック獲得相と解放相の 2 つに分かれ、一度解放を始めたら以降ロック獲得はできない
- 22 段階で同一レコードを 2 回ロックする
- 3ロックは常にコミット後に解放するため厳格 2PL と等価
- 4楽観的同時実行制御の一種である
正解
1. ロック獲得相と解放相の 2 つに分かれ、一度解放を始めたら以降ロック獲得はできない
詳しい解説を見る解説を閉じる
解説
2 相ロック(Two-Phase Locking)は、トランザクションを「拡張相(ロック獲得のみ)」と「縮退相(ロック解放のみ)」に分け、解放を始めたら以後新たなロックを獲得しないルール。これにより直列化可能性が保証される。ただしカスケード・アボートを防ぐにはコミットまでロックを保持する厳格 2PL(Strict 2PL)が必要。デッドロックは検出または順序付けで対処。楽観的方式(OCC)は別概念で、トランザクション末尾で衝突検出する。
一問一答
全400問を繰り返し学習