
데이터베이스
Database Transaction데이터베이스 트랜잭션
트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적 작업 단위로 취급되는 일련의 연산이다. 모두 성공하거나(Commit) 모두 실패(Rollback)해야 한다.
ACID 속성
| 속성 | 의미 |
|---|---|
| Atomicity(원자성) | 트랜잭션 내 모든 연산은 전부 실행되거나 전부 취소 |
| Consistency(일관성) | 트랜잭션 전후 데이터베이스 무결성 규칙 유지 |
| Isolation(격리성) | 동시 트랜잭션은 서로 간섭하지 않음 |
| Durability(지속성) | Commit된 트랜잭션은 영구 저장 |
계좌 이체 예시
격리 수준 (Isolation Level)
| 수준 | Dirty Read | Non-repeatable | Phantom Read |
|---|---|---|---|
| READ UNCOMMITTED | 발생 | 발생 | 발생 |
| READ COMMITTED | 없음 | 발생 | 발생 |
| REPEATABLE READ | 없음 | 없음 | 발생 |
| SERIALIZABLE | 없음 | 없음 | 없음 |
관련 개념
참고문헌
- •Gray, J. Transaction Processing: Concepts and Techniques (1992)