Learning
토픽 33 / 201·무결성 및 트랜잭션

트랜잭션 (Transaction)

트랜잭션 (Transaction)

데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위로, 한꺼번에 수행되어야 할 일련의 연산들의 집합

특징

  • 논리적 작업 단위 (Logical Unit of Work)
  • ACID 속성 보장
  • 분할 불가능한 최소 단위

상태 전이

  • 활동(Active): 트랜잭션 실행 중
  • 부분 완료(Partially Committed): 마지막 연산 실행 후
  • 완료(Committed): 성공적으로 완료, 영구 반영
  • 실패(Failed): 오류 발생, 정상 진행 불가
  • 철회(Aborted): 롤백 후 트랜잭션 취소

연산

  • BEGIN: 트랜잭션 시작
  • COMMIT: 성공적 완료, 변경 영구 반영
  • ROLLBACK: 실패 시 원래 상태로 복구
  • SAVEPOINT: 중간 저장점 설정 (부분 롤백용)

트랜잭션 특성 (ACID)

  • Atomicity(원자성): All or Nothing
  • Consistency(일관성): 일관된 상태 유지
  • Isolation(고립성): 동시 실행 시 독립성
  • Durability(지속성): 완료 후 영구 보존

적용사례: 계좌이체, 주문처리, 재고관리, 결제처리

비교: ACID(강한일관성/RDBMS) vs BASE(최종일관성/NoSQL)

연관: ACID, 동시성 제어, 회복, 락킹