작업의 완전성을 보장하는 논리적인 단위이다.
Partial update발생 방지- 논리적인 작업 셋을 모두 완벽하게 처리하거나,
- 처리하지 못할 경우 원래 상태로 복구해서
작업의 일부만 적용되지 않도록하는 것이 목적
| 잠금 | 비교 | 트랜잭션 |
|---|---|---|
동시성 제어 |
목적 | 데이터 정합성 보장 |
| 여러 커넥션에서 동시에 동일한 자원을 요청할 경우 | 사용 | 쿼리의 개수에 관계없는 논리적인 작업 셋 |
| 한 시점에는 하나의 커넥션만 변경 가능 | 자원 | 100% 적용되거나 아무것도 적용되지 않아야 함 |
- 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않도록 보장한다.
All-or-Nothing이라고도 한다.
- 트랜잭션이 성공적으로 완료되면
일관적인 DB상태를 유지하게 된다.
- 트랜잭션 수행 시 다른 트랜잭션의 작업이 끼어들지 못한다.
- 트랜잭션끼리 서로 영향을 주지 않는다.
- 성공적으로 수행된 트랜잭션은 영원히 반영된다.