티스토리 뷰

트랜잭션(Transaction)

: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위

(작업 단위: 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것)

 

트랜잭션의 특징

- 복구 및 병행 수행 시 처리되는 작업의 논리적 단위

- 하나의 트랜잭션은 COMMIT 되거나 ROLLBACK 됨

- 일반적으로 회복의 단위임

 

트랜잭션의 성질 (ACID)

원자성 (Atomicity): 트랜잭션은 모두 DB에 반영이 되거나 모두 반영되지 않음

일관성 (Consistency): 트랜잭션이 완료되면 DB는 일관성 있는 상태를 유지함

격리성 (Isolation): 트랜잭션 수행 중 다른 트랜잭션이 끼어들 수 없음

영속성/지속성 (Durability): 트랜잭션의 결과는 영구적으로 반영됨

 

 

트랜잭션의 연산과 상태

Commit: 하나의 트랜잭션이 성공적으로 끝났고 DB가 일관성있는 상태일 때, 트랜잭션 연산이 완료됨을 알려주는 연산

Rollback: 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션 원자성이 깨졌을 때, 트랜잭션이 행한 모든 연산을 취소함

 

 

활동(Active): 트랜잭션이 실행중인 상태

실패(Failed): 트랜잭션 실행에 오류가 발생하여 중단된 상태

철회(Aborted): 트랜잭션이 비정상적으로 종료되어 Rollback을 수행한 상태

부분 완료(Partially Committed): 트랜잭션의 마지막 연산까지 실행했지만, Commit이 실행되기 직전의 상태

완료(Committed): 트랜잭션이 성공적으로 종료되어 Commit을 실행한 후의 상태

댓글