데이터베이스
트랜잭션 (Transaction)
주멘이
2018. 6. 18. 17:24
트랜잭션 (Transaction) ?
- DB 내에서 한번에 수행되어야할 일련의 연산들
- 시스템에서 사용되는 쪼갤 수 없는 업무처리의 단위
- 전부 COMMIT 되거나, 전부 ROLLBACK 되거나
- ex) 쇼핑몰 결제 시, 예상치 못한 오류로 금액만 지불되고 주문 처리가 안됐으면 ?
전부 ROLLBACK을 시켜야 함
- 트랜잭션의 4가지 특성 (ACID)
1) Atomicity - 원자성 : All or Nothing
2) Consistency - 일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미
ex) 무결성 제약을 위반하는 트랜잭션은 중단
3) Isolation - 격리성 : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미
트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음
4) Durabillity - 영속성 : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함
시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함