본문 바로가기
데이터베이스

트랜잭션(Transaction)

by 나는 유찌 2020. 3. 28.

 

문서 작업하면서 트랜잭션 때문에 고생했다..

대충대충 알던 개념을 자세하게 조사하자니 힘들었다ㅎ...

 

 

 


 

 

 

1. 트랜잭션(Transaction)

 

- 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업의 단위

- 한번에 모두 수행되어야 하는 연산들

 

 

 

 

 

2. 트랜잭션 성질(ACID)

 

성질 설명
원자성 (Atomicity) 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되서는 안된다. (all or nothing)
일관성 (Consistency) 트랜잭션을 수행하기 전이나 수행 후나 데이터베이스는 항상 일관된 상태를 유지해야 한다.
고립성 (Isolation) 트랜잭션 수행 중 다른 트랜잭션으로 인해 변경 중인 데이터 값을 훼손하는 일은 없어야 한다.
지속성 (Durability) 수행을 완료한 트랜잭션은 변경한 데이터를 영구히 저장한다.

 

 

 

 

 

3. Commit과 Rollback

 

Commit 트랜잭션에 대한 작업이 성공적으로 끝난 후 해당 트랜잭션이 행한 갱신 연산이 완료 되었음을 알려주는 작업
Rollback 트랜잭션 처리가 비정상적으로 종료되는 등 일관성이 맞지 않을 때, 작업의 일부가 정상적으로 처리가 되었어도 원자성 구현을 위해 모든 연산을 취소하는 작업