topic★★★★★난이도 · 약 20분
트랜잭션 ACID
원자성 · 일관성 · 고립성 · 지속성 — DBMS 트랜잭션의 4대 속성.
#DB#트랜잭션#ACID
왜 배우는가
ACID 4속성 이름과 의미를 정확히 매칭. 매회 출제.
| 속성 | 영문 | 의미 |
|---|---|---|
| 원자성 | Atomicity | 전부 성공 또는 전부 실패 (All or Nothing) |
| 일관성 | Consistency | 실행 전후 DB 일관성 유지 |
| 고립성 | Isolation | 동시 실행 트랜잭션끼리 영향 안 줌 |
| 지속성 | Durability | 완료된 트랜잭션은 영구 반영 |
트랜잭션 상태 전이 — 활동(Active) → 부분 완료(Partially Committed) → 완료(Committed) / 실패(Failed) → 철회(Aborted).
활동
Active트랜잭션이 시작되어 SQL 명령을 실행하는 중인 상태. 최초 상태이며 가장 오래 머무르는 단계다.
전이 조건
시작: BEGIN TRANSACTION / START TRANSACTION. 이 상태에서 INSERT·UPDATE·DELETE·SELECT가 수행된다.
상태 노드를 클릭해 의미와 전이 조건을 확인하자. ACID의 원자성(Atomicity)은 **Active → Committed**와 **Active → Aborted** 두 경로 중 하나로만 귀결됨을 보장한다.
| 연산 | 의미 |
|---|---|
| COMMIT | 변경 사항 확정 |
| ROLLBACK | 변경 취소, 이전 상태로 |
| SAVEPOINT | 부분 롤백 지점 |
병행 제어(Concurrency Control) — 여러 트랜잭션이 동시에 실행될 때 일관성 유지 기법. 로킹(Locking), 타임스탬프, 낙관적 검증, 다중 버전(MVCC). 로킹 단위: 크면 관리 쉬움 / 병행성 ↓, 작으면 병행성 ↑ / 오버헤드 ↑.
회복 기법 — 로그 기반(지연 갱신/즉각 갱신), 체크포인트, 그림자 페이징.
실기 드릴 3문항
edit실기 드릴 · 단답형
트랜잭션의 4대 속성(ACID)을 한글로 모두 쓰시오.
edit실기 드릴 · 단답형
완료된 트랜잭션의 변경 사항이 시스템 오류가 발생해도 유지되어야 하는 속성은?
edit실기 드릴 · 단답형
'All or Nothing' 성질을 가지는 ACID 속성은?