Database
DB회복
배짱이
2010. 5. 7. 11:36
ARIES
-대다수 상용 DB에서 사용하는 복구 알고리즘
-a steal, no-force approach
복구단계
1.Analysis : crash 시점의 buffer pool의 dirty pages와 active transaction 확인
2.Redo : 로그의 유효한 상태에서부터 시작하여 모든 action을 재실시하고 database 상태를 crash시점으로 복구
3.Undo : commit되지 않은 tx의 action은 undo하여 database에 commited된 tx의 action만 반영되도록 함
ARIES 알고리즘의 원칙
1.Write-ahead logging
DB객체에 대한 어떠한 변화도 먼저 로그에 기록, 로그에 있는 그 어떤 기록도 DB객체의 변화가 disk에 기록되기 전에 stable storage에 기록
2.Repeating history during redo
crash 후 restart되었을 때 log의 모든 행위를 재실시하여 DB를 crash시점의 상태로 만든 후에 crash 시점에 active tx를 undo
3.Logging changes during undo
tx를 undoing할 때 그 변화를 log에 기록. restart가 재실시될 때 동일한 action이 반복되지 않도록 하기 위함
이 글은 스프링노트에서 작성되었습니다.