데이터베이스

데이터 베이스 복구 알고리즘

coling 2024. 6. 25. 01:52

*이해가 안가서 개인적으로 정리한 내용이므로 참고용으로만 볼것!

 


복귀(Undo)

트랜잭션 작업을 취소하여 원래의 데이터베이스로 복구하는것

최신 > 과거

 

재생(Redo)

덤프와 로그를 이용해 정상적인 데이터베이스로 회복시켜 트랜잭션을 재실행

과거 > 최신

 


 

데이터베이스 복구 알고리즘

1) NO-UNDO/REDO

DB버퍼를 비동기적으로 갱신한 경우 >  DB 저장매체에 최신 변경 내용이 기록X  > 과거 기록 상태

그러므로 UNDO(최신 > 과거)는 필요없고, REDO(과거 > 최신)은 필요함

 

2) UNDO/NO-REDO

DB 버퍼를 동기적으로 갱신한 경우 > DB 저장매체에 최신 변경 내용이 기록됨 > 최신 기록 상태

그러므로 UNDO(최신 > 과거)는 필요하고, REDO(과거 > 최신)은 필요X

 

3) UNDO/REDO

DB 버퍼의 내용을 동기/비동기적으로 갱신 > 1,2의 경우 모두 가능함

그러므로 UNDO(최신 > 과거), REDO(과거 > 최신) 모두 필요

 

4) NO-UNDO/NO-REDO

DB버퍼의 내용을 동기적으로 저장 매체에 기록하지만, 데이터베이스와는 다른 영역에 기록 

 

DB저장 매체에 과거 기록 상태가 있음 > UNDO(최신 > 과거) 필요X

다른 저장매체에 최신 기록 상태가 있음 > REDO(과거 > 최신) 필요X