(기초)그래서 뭘 배운거야?/DB
DB-08-트랜잭션
Soheny.P
2022. 4. 4. 02:47
728x90
트랜잭션의 정의
'쿼리 한 줄이 아니라' 데이터베이스 상태 변화에 사용되는 작업 단위 의미한다.
트랜잭션의 특징
1. 데이터베이스 시스템에서 병행 제어(트랜잭션 동시 실행시 다른 트랜잭션 영향 주지 않고, DB일관성 해치치 않는 것) 및 회복 작업(ROLLBACK) 시 처리되는 작업의 논리적 단위이다.
2. 하나의 트랜잭션은 Commit되거나 Rollback된다.
트랜잭션의 성질
Atomicity(원자성)
1. 트랜잭션의 연산은 데이터베이스에 모두 반영/전혀 반영되지 않아야 한다.
Consistency(일관성)
1. 트랜잭션 성공 시,일관성 있는 데이터베이스 상태로 변환한다.
Isolation(독립성,격리성)
1. 트랜잭션이 동시에 병행 실행 시 다른 트랜잭션의 연산이 끼어들 수 없다.
Durablility(영속성,지속성)
1. 트랜잭션 성공시 시스템 고장나도 영구반영
트랜잭션 연산 및 상태
Commit연산
1. 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산이다.
Rollback연산
1. 일부 트랜잭션 처리가 비정상 종료돼서 데이터베이스의 일관성을 깨뜨렸을 때, 원자성 위해
모든 연산을 취소(Undo)하는 연산이다.
2. Rollback시에는 해당 트랜잭션을 재시작하거나 폐기한다.
트랜잭션의 상태
활동(Active) : 트랜잭션이 실행중인 상태
실패(Failed) : 트랜잭션 실행에 오류가 발생하여 중단된 상태
철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
부분 완료(Partially Committed) : 트랜잭션의 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태
완료(Committed) : 트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태
728x90