

여러 일련의 명령어를 실행하다가 commit전에 시스템 충돌에 의해 프로그램이 down된다면 commit은 되지 않고 버퍼캐시가 비게 된다.

📌 Undo : abort된 tx가 주는 영향을 모두 삭제해버림 (removing)
⇒ commit되지 않은 tx대상으로 삭제
📌 Redo : commit전에 crash가 발생하면 crash 이전의 내용을 다시 적용시킴 (re-applying)
⇒ log를 이용한 recovery 기법, commit된 tx대상으로 재적용



Read는 log가 필요없다. write만 필요하다. 왜? read는 DB(table file)을 건드리지 않기 떄문에
→ Logging : commit된 T2의 실행 내용의 log를 Disk에 따로 저장함 ⇒ crash되면 log를 보고 recover