topic난이도 · 약 15

트랜잭션 & 회복 (ACID, COMMIT, ROLLBACK)

트랜잭션의 4대 특성(ACID)과 회복 기법.

#DB#트랜잭션#ACID#회복
왜 배우는가

ACID 특성과 COMMIT/ROLLBACK은 거의 매회 1문항 이상 출제된다. 회복 기법(Redo/Undo, 검사점)도 간간이 등장.

트랜잭션 상태 전이 — Active → Partially Committed → Committed / Failed → Aborted (ACID)
특성영문의미
원자성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 장애 → (___)