정보처리기사/데이터베이스 활용

트랜잭션의 특성 (ACID)

glorypang 2025. 10. 4. 00:53
728x90
반응형
SMALL

원자성 (Atomicity)

  • 의미 : 전부 수행되거나 전혀 수행되지 않음
  • 예시 : 이체 중 한쪽만 성공하면 전체 롤백

일관성 (Consistency)

  • 의미 : 트랜잭션 전/후로 제약조건을 항상 만족
  • 예시 : 잔액<0 금지, FK 위반 금지 등 유지

독립성, 격리성 (Isolation)

  • 의미 : 동시에 실행해도 서로 간섭 없이 직렬화 가능한 결과
  • 예시 : 동시 업데이트 충돌로 인한 잘못된 합계 방지

영속성, 지속성 (Durability)

  • 의미 : 커밋된 결과는 장애 후에도 보존
  • 예시 : 커밋 후 전원 꺼져도 로그/스토리지로 복구

흐름:

BEGIN;                    -- 트랜잭션 시작
  UPDATE account SET bal = bal - 100 WHERE id = 1;
  UPDATE account SET bal = bal + 100 WHERE id = 2;
COMMIT;                   -- 전부 반영 (원자성/지속성)
-- 문제가 생기면 ROLLBACK;
728x90
반응형
LIST