dongdorodongdong
Transaction 본문
정의
- 데이터베이스의 상태를 변화 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
- 한꺼번에 모두 수행되어야 할 일련의 연산들
- 데이터베이스 시스템에서 병행제어 및 회복 작업 시 처리되는 작업의 논리적 단위
특징
- 하나의 트랜잭션은 Commit 되거나 Rollback 된다.
- 일반적으로 회복의 단위가 된다.
Atomicity(원자성)
- 트랜잭션의 연산은 데이터베이스에 모두 반영 or 모두 반영x
- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 하나라도 오류가 발생하면 트랜잭션 전부가 취소 되어야 한다.
Consistency(일관성)
- 트랜잭션이 그 실행을 성공적으로 완료하면 일관성 있는 데이터베이스 상태로 변환한다.
- 시스템의 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 후의 상태가 같아야 한다.
Isolation(독립성, 격리성)
- 여러 트랜잭션이 동시에 실행되고 있을 때 다른 트랜잭션 연산이 끼어들 수 없다.
- 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
Durability(영속성, 지속성)
- 트랜잭션의 결과는 영구적으로 반영한다.
연산의 종류
- Commit : 트랜잭션이 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있으며 트랜잭션 관리자에게 이를 알려주는 연산
- Rollback : 트랜잭션이 실패했고 이를 트랜잭션 관리자에게 알려준다. 또 수행한 결과를 원래의 상태로 원상 복귀시키는 연산