topic난이도 · 약 20

트랜잭션 ACID

원자성 · 일관성 · 고립성 · 지속성 — DBMS 트랜잭션의 4대 속성.

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

ACID 4속성 이름과 의미를 정확히 매칭. 매회 출제.

속성영문의미
원자성Atomicity전부 성공 또는 전부 실패 (All or Nothing)
일관성Consistency실행 전후 DB 일관성 유지
고립성Isolation동시 실행 트랜잭션끼리 영향 안 줌
지속성Durability완료된 트랜잭션은 영구 반영

트랜잭션 상태 전이 — 활동(Active) → 부분 완료(Partially Committed) → 완료(Committed) / 실패(Failed) → 철회(Aborted).

마지막 SQL 완료COMMIT 성공오류 발생시스템 크래시ROLLBACK활동Active부분 완료Partially Committed완료Committed실패Failed철회Aborted

활동

Active

트랜잭션이 시작되어 SQL 명령을 실행하는 중인 상태. 최초 상태이며 가장 오래 머무르는 단계다.

전이 조건

시작: BEGIN TRANSACTION / START TRANSACTION. 이 상태에서 INSERT·UPDATE·DELETE·SELECT가 수행된다.

상태 노드를 클릭해 의미와 전이 조건을 확인하자. ACID의 원자성(Atomicity)은 **Active → Committed**와 **Active → Aborted** 두 경로 중 하나로만 귀결됨을 보장한다.

트랜잭션 5개 상태와 전이 경로 — 노드 클릭으로 설명 확인
연산의미
COMMIT변경 사항 확정
ROLLBACK변경 취소, 이전 상태로
SAVEPOINT부분 롤백 지점

병행 제어(Concurrency Control) — 여러 트랜잭션이 동시에 실행될 때 일관성 유지 기법. 로킹(Locking), 타임스탬프, 낙관적 검증, 다중 버전(MVCC). 로킹 단위: 크면 관리 쉬움 / 병행성 ↓, 작으면 병행성 ↑ / 오버헤드 ↑.

회복 기법로그 기반(지연 갱신/즉각 갱신), 체크포인트, 그림자 페이징.

실기 드릴 3문항
edit실기 드릴 · 단답형

트랜잭션의 4대 속성(ACID)을 한글로 모두 쓰시오.

edit실기 드릴 · 단답형

완료된 트랜잭션의 변경 사항이 시스템 오류가 발생해도 유지되어야 하는 속성은?

edit실기 드릴 · 단답형

'All or Nothing' 성질을 가지는 ACID 속성은?