본문 바로가기
자바 풀스택 공부

Day 79. [DataBase] 트랜잭션

by seung_nari 2022. 4. 27.

Transaction, 트랜잭션

트랜잭션 이란, 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다.

 

데이터베이스의 상태를 변경시킨다는 이야기는

 

SELECT, UPDATE, INSERT, DELETE 와 같은 행동이다.

 

트랙잭션은 COMMIT 되거나 ROLLBACK 시킬 수 있다.

 

 

트랜잭션의 특징

트랜잭션에는 4가지의 특징이 있다

 

1. 원자성

 

원자성은 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나를 뜻한다.

ALL or NOTHING

 

2. 일관성

 

일관성은 트랜잭션 작업 처리의 결과가 항상 일관되어야 한다

즉, 데이터 타입이 반환 후와 전이 항상 동일해야 한다.

 

3. 독립성

 

독립성은 하나의 트랜잭션은 다른 트랜잭션에 끼어들 수 없고 마찬가지로 독립적임을 의미한다

즉, 각각의 트랜잭션은 독립적이라 서로 간섭이 불가능한다.

 

4. 지속성

 

지속성은 트랜잭션이 성공적으로 완료되면 영구적으로 결과에 반영되어야 함을 뜻한다.

COMMIT 이 된다면 지속성은 만족할 수 있다.

 

트랜잭션의 COMMIT & ROLLBACK

COMMIT

 

하나의 트랜잭션이 성공적으로 끝나서 데이터베이스가 일관성 있는 상태에 있음을 의미한다.

 

ROLLBACK

 

트랜잭션의 원자성이 깨질 때, 즉 하나의 트랜잭션 처리가 비정상적으로 종료 되었을 때의 상태를 뜻한다.

ROLLBACK이 이뤄진다면 트랜잭션을 다시 실행하거나 부분적으로 변경된 결과를 취소 할 수 있다.

 

출처 : https://wonit.tistory.com/462

댓글