Transaction(트랜잭션)은 데이터베이스에서 중요한 개념들 중 하나입니다.
[트랜잭션이란?]
- 데이터베이스 내에서 한꺼번에 수행되어야할 일련의 연산들
트랙잭션의 모든 연산은 반드시 한꺼번에 완료가 되어야 하며 그렇지 않은 경우에는 한꺼번에 취소되어야 하는 원자성(Atomicity)을 가지고 있습니다.
1) 한꺼번에 완료가 된 경우에는 성공적인 종료 ‘COMMIT’
-> 이 경우에는 작업결과는 데이터베이스에 반영이 됩니다.
2) 취소가 된 경우에는 비정상적인 종료 ‘ROLLBACK’
-> 이 경우에 작업결과는 모두 취소되어 데이터베이스에 영향을 미치지 않게 됩니다.
[트랜잭션의 특징 5가지]
1. 원자성(Atomicity)
- 분리 할수 없는 하나의 단위로 작업은 모두 완료되거나, 혹은 모두 취소 되어야 합니다.
2. 일관성(Consistency)
- 사용되는 모든 데이터는 일관되어야 합니다.
3. 격리성(Isolation)
- 접근하고 있는 데이터는 다른 트랜잭션으로 부터 격리 되어야 합니다. 트랜잭션이 진행되기 전과 완료된 후에 상태를 볼 수 있지만 트랜잭션이 진행되는 중간 데이터는 볼 수 없습니다.
4. 영속성(Durability)
- 트랙잭션이 정상 종료되면 그 결과는 시스템에 영구적으로 적용되어야 합니다.
5. 순차성(Sequentiality)
- 데이터를 다시 로드하고 트랜잭션을 재생하여 원래 트랜잭션이 수행된 후의 상태로 데이터를 되돌리는 것을 말합니다.
[트랙잭션의 예]
카드를 들고 은행 ATM기 앞으로 갔을 때,
1. 카드를 삽입
2. 어떤 거래를 할지 선택
3 비밀번호를 눌러 인증받기
4. 거래를 완료(=COMMIT)
-> 이 네 가지 과정을 묶어서 트랜잭션이라고 합니다.
* 중간에 비밀번호를 틀리거나 인증을 받았는데 거래를 취소하거나 하는 일이 발생해서 처음으로 돌아갈 경우
(= ROLLBACK)
'DB' 카테고리의 다른 글
NoSQL 이란? (0) | 2016.04.24 |
---|---|
참조 무결성이란? (0) | 2016.04.21 |
RDB, RDBMS 란? (0) | 2016.04.20 |
E-R(Entity-Relationship) Model 이란? (0) | 2016.04.19 |
스키마란? (개념스키마, 내부스키마, 외부스키마) (3) | 2016.04.19 |
WRITTEN BY