글 주제로 우려먹고 있는 REDO와 UNDO, 마지막으로 둘을 비교해보고자 한다

1. 목적:
- UNDO: 이미 수행된 변경사항을 취소하고 데이터를 이전 상태로 되돌리는 데 목적이 있다. 이를 통해 오류나 잘못된 데이터 수정 작업을 되돌릴 수 있다.
- REDO: 시스템 장애나 다른 예기치 않은 사건 후 데이터베이스를 회복하는 과정에서 이미 커밋된 트랜잭션의 변경사항을 다시 적용하는 데 목적이 있다. 이는 데이터의 일관성과 안정성을 보장한다.
2. 작동 원리:
- UNDO: 데이터베이스는 변경사항을 로그 파일에 기록한다. UNDO 작업을 할 때 이 로그 파일을 참조하여 변경 전 데이터 상태로 되돌린다.
- REDO: 데이터베이스는 커밋된 트랜잭션의 변경사항을 REDO 로그 파일에 기록한다. 시스템 재시작 후 이 로그 파일을 사용하여 데이터베이스를 일관된 상태로 복구한다.
3. 사용 시점:
- UNDO: 사용자의 요청에 의해 명시적으로 실행되거나 트랜잭션이 실패했을 때 자동으로 실행됩니다. 예를 들어, 'ROLLBACK' 명령을 사용하여 트랜잭션을 취소할 수 있다.
- REDO: 시스템이 비정상적으로 종료된 후 자동으로 실행된다. 시스템 재시작 시, REDO 로그를 사용하여 데이터베이스를 안정적인 상태로 복구힌다.
4. 영향을 받는 데이터:
- UNDO: 진행 중이거나 실패한 트랜잭션에 의해 변경된 데이터에 영향을 준다.
- REDO: 커밋된 트랜잭션에 의해 변경된 데이터에 영향을 준다.
결론:
REDO와 UNDO는 데이터베이스 관리에서 중요한 역할을 하며 데이터의 일관성 및 안정성을 유지하기 위해 서로 보완하는 기능이다. UNDO는 잘못된 변경사항을 취소할 때 사용되며, REDO는 시스템 장애 후 데이터를 안전하게 복구하는 데 사용된다.
'IT > SQL 도전하기' 카테고리의 다른 글
| [SQL] SQL 키 정리 (0) | 2024.03.16 |
|---|---|
| [SQL] MongoDB와 MySQL (0) | 2024.03.13 |
| SQL REDO: 데이터 복구와 안정성 강화 (0) | 2024.03.06 |
| SQL UNDO: 데이터 복구의 이해와 활용 (0) | 2024.02.28 |
| [Oracle] 오라클 시간 계산법(1/24/60) (0) | 2024.02.25 |