DB는 장애가 발생해도 어떻게 데이터를 복구할까? Redo와 Undo의 원리
DB는 장애가 발생해도 어떻게 데이터를 복구할까? Redo와 Undo의 원리애플리케이션에서 다음 트랜잭션이 정상적으로 커밋됐다고 가정해 보자.BEGIN;UPDATE accountSET balance = balance - 10000WHERE account_id = 1;COMMIT;애플리케이션은 COMMIT 성공 응답을 받았다. 그런데 직후 DB 서버의 전원이 내려갔다.이때 데이터 페이지가 실제 데이터 파일에 기록되기 전이었다면 어떻게 될까?반대로 아직 커밋하지 않은 트랜잭션의 변경 내용이 데이터 파일에 먼저 기록된 상태에서 DB가 종료됐다면, 해당 변경은 어떻게 제거할까?DBMS는 이 문제를 해결하기 위해 일반적으로 다음 두 종류의 복구 정보를 관리한다.Redo: 변경 내용을 다시 적용하기 위한 정보Und..