Search

트랜잭션

트랜잭션(Transaction)이란 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위이다.
COMMIT
트랜잭션 처리가 정상적으로 종료되어 수행한 변경 내용을 DB에 반영하는 연산이다.
ROLLBACK
트랜잭션 처리가 비정상으로 종료되어 DB의 일관성이 깨졌을 때 트랜잭션이 행한 모든 변경 작업을 취소하고 이전 상태로 되돌리는 연산이다.
SAVEPOINT
트랜잭션 내에서 ROLLBACK할 위치인 저장점을 지정하는 연산으로, 여러개의 savepoint를 지정 가능하다.
트랜잭션의 종료 시 commit을 수행하기 떄문에, 비정상적인 작동이 감지되어 지정된 savepoint까지 rollback을 수행하기 위해선 ACID 속성을 지닌 트랜잭션을 올바르게 배분하여 사용해야한다.
원자성(Atomicity)
트랜잭션 연산을 데이터베이스 모두에 반영 또는 반영하지 않는다(All or Nothing).
일관성(Consistency)
트랜잭션이 성공적으로 완료할 시, 일관성 있는 데이터베이스 상태를 유지한다.
독립성(Isolation)
둘 이상의 트랜잭션 동시 실행시, 한개의 트랜잭션만 접근이 가능하여 간섭이 불가능하다.
영속성(Durability)
성공적으로 완료된 트랜잭션 결과는 영구적으로 반영된다.