-
Notifications
You must be signed in to change notification settings - Fork 0
5_2. Redo History Protocol
김영서 edited this page Oct 7, 2021
·
1 revision
Redo-History Protocol은 먼저 Winner와 Loser의 모든 내용들을 REDO하고, 이후 Loser의 내용들을 UNDO 하는 프로토콜입니다.
- Optional Analysis
- Redo Everything
- Undo
- Loser Operation에 대해 Rollback 작업 수행
- Undo 수행 시 무조건 CLR 발급
Redo-History Protocol은 Recovery 수행 중 UNDO Phase에서 계속 Failure가 발생하면 Undo 작업에 대한 CLR이 계속 발급되기 때문에 Log 양이 증가하여 성능 저하를 발생시킬 수 있다는 단점이 있습니다.
이를 해결하기 위해 Next Undo Sequence Number를 사용합니다.

Redo-History 프로토콜에서는 REDO Phase에서 Compensate도 Redo 하기 때문에 Redo의 결과에 이미 Undo가 포함되어 있습니다.
따라서 Next Undo Sequence Number를 통해 Undo 진행상태를 알려줌으로써 불필요한 Undo를 막을 수 있고, Undo 중에 계속 Failure가 발생하더라도 점차 Undo 해야할 양은 줄어들게 됩니다.