반응형
트랜잭션은 데이터베이스에서 연산의 최소 단위이며,
원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장해야 한다.
이런 특성(ACID)을 지키기 위해, 장애 발생 시 데이터를 복구하는 회복 기법이 필요하다.
이때 사용되는 핵심 개념이 Undo, Redo, Checkpoint이다.
✅ Undo란?
Undo는 트랜잭션이 실패했을 때 변경된 데이터를 이전 상태로 되돌리는 작업이다.
예를 들어, 계좌에서 잘못 출금된 금액을 원래 상태로 돌리는 것이 Undo다.
- 실패한 트랜잭션의 변경 사항을 롤백한다.
- 로그에 기록된 정보를 바탕으로 이전 상태로 복원한다.
- 데이터 손상 방지 목적이다.
✅ Redo란?
Redo는 트랜잭션이 성공했지만, 장애로 인해 디스크에 반영되지 않은 경우, 해당 내용을 다시 적용하는 작업이다.
예를 들어, 입금이 완료됐지만 디스크에 저장되지 않았을 때, 다시 반영하는 것이 Redo다.
- 완료된 트랜잭션의 변경 사항을 재적용한다.
- 로그를 보고 데이터를 다시 반영한다.
- 지속성(Durability)을 보장한다.
✅ Checkpoint란?
Checkpoint는 데이터베이스가 현재의 상태를 저장하는 지점이다.
Undo와 Redo의 기준점으로, 장애 발생 시 회복 범위를 좁혀준다.
- 일정 주기로 Checkpoint를 기록한다.
- 이후의 트랜잭션은 Undo 또는 Redo 대상이 될 수 있다.
- 복구 성능을 높인다.
📌 예시 시나리오
[로그 기록 예시]
T1: 시작 → 데이터 변경 → 완료
T2: 시작 → 데이터 변경 → 장애 발생
Checkpoint
복구 시나리오:
- T1은 Redo: 완료된 트랜잭션을 다시 반영
- T2는 Undo: 실패한 트랜잭션을 원래대로 되돌림
📎 요약 정리
개념 | 역할 | 적용 시점 | 예시 설명 |
Undo | 변경사항 취소 | 트랜잭션 실패 시 | 잘못된 출금 취소 |
Redo | 변경사항 재적용 | 트랜잭션 성공 시 | 완료된 입금 다시 반영 |
Checkpoint | 상태 저장 기준점 | 주기적 | 장애 발생 시 회복 기준이 되는 시점 |
📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇
http://www.youtube.com/@itbite_daily
오늘의 IT한입
👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일
www.youtube.com
반응형
'IT개발 > Tech Notes' 카테고리의 다른 글
소프트웨어 생명 주기란? 개발 단계 전체 흐름 완전 정리! (0) | 2025.05.17 |
---|---|
소프트웨어 생명 주기란? 개발 단계 전체 흐름 완전 정리!(정보처리기사 1과목 : 소프트웨어 설계) (0) | 2025.05.16 |
정규화란? 1NF부터 5NF까지 핵심 개념 완전 정리 (1) | 2025.05.13 |
논리 연산자 AND, OR, NOT부터 XOR까지, 기초 개념 완전 정리! (0) | 2025.05.13 |
내부 단편화 vs 외부 단편화, 메모리 낭비를 일으키는 진짜 원인! (1) | 2025.05.09 |
댓글