topic★★★★★난이도 · 약 15분
트랜잭션 & 회복 (ACID, COMMIT, ROLLBACK)
트랜잭션의 4대 특성(ACID)과 회복 기법.
#DB#트랜잭션#ACID#회복
왜 배우는가
ACID 특성과 COMMIT/ROLLBACK은 거의 매회 1문항 이상 출제된다. 회복 기법(Redo/Undo, 검사점)도 간간이 등장.
| 특성 | 영문 | 의미 |
|---|---|---|
| 원자성 | Atomicity | 전부 실행 또는 전부 취소 |
| 일관성 | Consistency | 실행 전후 DB가 일관된 상태 |
| 독립성 | Isolation | 동시 트랜잭션 간 간섭 없음 |
| 지속성 | Durability | 완료된 결과는 영구 보존 |
sql
-- 트랜잭션 제어
BEGIN TRANSACTION;
UPDATE 계좌 SET 잔액 = 잔액 - 10000 WHERE 이름 = '홍길동';
UPDATE 계좌 SET 잔액 = 잔액 + 10000 WHERE 이름 = '이순신';
COMMIT; -- 성공 시 확정
-- ROLLBACK; -- 실패 시 취소회복 기법: ① Redo(재실행) — 커밋된 트랜잭션을 로그 기반으로 다시 반영. ② Undo(취소) — 미완료 트랜잭션을 롤백. ③ 검사점(Checkpoint) — 주기적으로 안전 지점을 기록해 회복 범위를 줄임.
기출 패턴 — 'COMMIT 전 장애 → Undo', 'COMMIT 후 장애 → Redo'가 핵심 판단 기준.
실기 드릴 2문항
edit실기 드릴 · 단답형
트랜잭션이 성공적으로 완료되어 결과를 확정짓는 명령어는?
space_bar실기 드릴 · 빈칸 채우기
COMMIT 전 장애 → (___), COMMIT 후 장애 → (___)