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이 반복되지 않도록 하기 위함

 

 

이 글은 스프링노트에서 작성되었습니다.