Dot Database/Concept
2021. 10. 27.
[DB] REDO와 UNDO 동작 과정을 이해해보자 (지속성을 구현하기 위해)
REDO와 UNDO를 배워야 하는 이유 트랜잭션이 가지고 있어야 하는 특성에 'ACID'라는 것이 있다. 이 특성을 구현하기 위해서 REDO와 UNDO는 빠질 수 없으므로 이들을 배울 필요가 있다. REDO와 UNDO에 대한 설명에 들어가기에 앞서 ACID 특성이 대체 무엇인지를 먼저 살펴보자. A(Atomicity) 원자성 트랜잭션에 포함된 데이터의 변경은 '전부 OK'이거나 '모두 NG'라는 'all or nothing'을 말한다. DBMS는 수행 중인 트랜잭션에서 데이터를 일부만 변경하고 나머지는 수행하지 않은 채 커밋할 수 없다.예를 들어, 어떤 트랜잭션에서 A 계좌에서 출금하고 B 계좌에 입금했을 때 '출금은 기록됐지만 입금은 기록되지 않았다'는 상황이 발생하면 곤란하다. 원자성은 이런 일이 일..