트랜잭션 (Transaction)

DB 2016. 4. 19. 21:22

Transaction(트랜잭션)은 데이터베이스에서 중요한 개념들 중 하나입니다.


[트랜잭션이란?]

- 데이터베이스 내에서 한꺼번에 수행되어야할 일련의 연산

트랙잭션의 모든 연산은 반드시 한꺼번에 완료가 되어야 하며 그렇지 않은 경우에는 한꺼번에 취소되어야 하는 원자성(Atomicity)을 가지고 있습니다.

1) 한꺼번에 완료가 된 경우에는 성공적인 종료 ‘COMMIT’

-> 이 경우에는 작업결과는 데이터베이스에 반영이 됩니다.

2) 취소가 된 경우에는 비정상적인 종료 ‘ROLLBACK’

-> 이 경우에 작업결과는 모두 취소되어 데이터베이스에 영향을 미치지 않게 됩니다.

 

[트랜잭션의 특징 5가지]

1. 원자성(Atomicity)

- 분리 할수 없는 하나의 단위로 작업은 모두 완료되거나, 혹은 모두 취소 되어야 합니다.

2. 일관성(Consistency)

- 사용되는 모든 데이터는 일관되어야 합니다.

3. 격리성(Isolation)

- 접근하고 있는 데이터는 다른 트랜잭션으로 부터 격리 되어야 합니다. 트랜잭션이 진행되기 전과 완료된 후에 상태를 볼 수 있지만 트랜잭션이 진행되는 중간 데이터는 볼 수 없습니다.

4. 영속성(Durability)

- 트랙잭션이 정상 종료되면 그 결과는 시스템에 영구적으로 적용되어야 합니다.

5. 순차성(Sequentiality)

- 데이터를 다시 로드하고 트랜잭션을 재생하여 원래 트랜잭션이 수행된 후의 상태로 데이터를 되돌리는 것을 말합니다.

 

[트랙잭션의 예]

카드를 들고 은행 ATM기 앞으로 갔을 때,

1. 카드를 삽입

2. 어떤 거래를 할지 선택

비밀번호를 눌러 인증받기

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
SiriusJ

,