Computer Science/데이터베이스
[데이터베이스] 트랜잭션 (Transaction)
Sky Titan
2020. 9. 17. 18:54
728x90
트랜잭션 (Transaction)
- 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 기본 작업 단위
- 예를 들어, 통장에서 금액을 출금하는 작업을 한다고 치면 '통장 금액 불러오기 (SELECT)' → '출금 (UPDATE)' 와 같은 순서로 이루어지는데 이 2가지 과정이 하나의 트랜잭션이다.
트랜잭션의 특성 (ACID)
| 특성 | 설명 |
| 원자성 (Atomicity) | 트랜잭션 내의 모든 작업이 성공적으로 수행되어 반영되거나 혹은 모두 반영되지 않아야한다. (일부만 반영x) |
| 일관성 (Consistency) | 트랜잭션이 성공적으로 실행된 후에도 데이터베이스는 항상 일관성을 유지해야한다. |
| 독립성 (Isolation) | 어느 트랜잭션이 실행 중일 때, 다른 트랜잭션이 연산에 끼어들 수 없다. |
| 지속성 (Durability) | 성공한 트랜잭션의 결과는 데이터베이스에 영구히 반영되어야 한다. |
트랜잭션 제어어 (Transaction Control Language, TCL)
| 명령 | 설명 |
| COMMIT | 트랜잭션의 결과를 데이터베이스에 반영한다. |
| ROLLBACK | 트랜잭션의 연산을 취소하여 되돌린다. |
| CHECKPOINT | ROLLBAKC을 하기 위한 복구 시점을 지정한다. |
728x90