토픽 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, 동시성 제어, 회복, 락킹