티스토리 뷰
트랜잭션(Transaction)
: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위
(작업 단위: 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것)
트랜잭션의 특징
- 복구 및 병행 수행 시 처리되는 작업의 논리적 단위
- 하나의 트랜잭션은 COMMIT 되거나 ROLLBACK 됨
- 일반적으로 회복의 단위임
트랜잭션의 성질 (ACID)
원자성 (Atomicity): 트랜잭션은 모두 DB에 반영이 되거나 모두 반영되지 않음
일관성 (Consistency): 트랜잭션이 완료되면 DB는 일관성 있는 상태를 유지함
격리성 (Isolation): 트랜잭션 수행 중 다른 트랜잭션이 끼어들 수 없음
영속성/지속성 (Durability): 트랜잭션의 결과는 영구적으로 반영됨
트랜잭션의 연산과 상태
Commit: 하나의 트랜잭션이 성공적으로 끝났고 DB가 일관성있는 상태일 때, 트랜잭션 연산이 완료됨을 알려주는 연산
Rollback: 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션 원자성이 깨졌을 때, 트랜잭션이 행한 모든 연산을 취소함
활동(Active): 트랜잭션이 실행중인 상태
실패(Failed): 트랜잭션 실행에 오류가 발생하여 중단된 상태
철회(Aborted): 트랜잭션이 비정상적으로 종료되어 Rollback을 수행한 상태
부분 완료(Partially Committed): 트랜잭션의 마지막 연산까지 실행했지만, Commit이 실행되기 직전의 상태
완료(Committed): 트랜잭션이 성공적으로 종료되어 Commit을 실행한 후의 상태
'Computer Science > Database' 카테고리의 다른 글
[Database] 트랜잭션 격리 수준 / 고립도 (Isolation Level) (0) | 2022.09.03 |
---|---|
[Database] 트랜잭션 회복 기법 (Recovery) (0) | 2022.09.03 |
[Database] 뷰(View) 개념 및 장단점 (0) | 2022.08.30 |
[Database] 반정규화 / 역정규화 (Denormalization) (0) | 2022.08.29 |
[Database] 정규화(Normalization) 개념 및 예시 (0) | 2022.08.28 |
댓글