본문 바로가기
개발 개념/이론

[DB이론] 트랜잭션(Transaction) , ACID특성

by Yikanghee 2022. 1. 7.

1. 트랜잭션 (Transaction)

트랜잭션이란 질의(query)를 하나로 묶음처리해서 중간에 실행이 중단 되었을 경우

처음부터 다시 실행하는 Rollback을 수행하고 오류 없이 실행을 마치면 Commit을 실행

한마디로, 작업수행의 논리적 단위이다

 

예를 들어 내가 친구에게 돈을 송금했는데 전송과정에서 실행이 중단되어 도착하지 못하는 상황이 생겼다

이런경우 내가 보낸 돈이 증발하는 상황이 생긴다

 

이러한 상황을 막기 위해서 트랜잭션에서는 Rollback 해주어 처음부터 다시 실행하게 된다

그리고 오류 없이 일이 잘 처리되면 Commit 을 한다 

 

이것을 트랜잭션이라고한다

 

2. ACID

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

- 원자성 (Atomicity)

 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 말함 

 즉, ALL or Nothing의 개념으로서 작업 단위를 일부분만 실행하지 않는다는 것을 의미함

- 일관성 (Consistency)

 트랜잭션이 성공적으로 완료되면 일관적인 DB상태를 유지하는 것을 말함

 여기서 말하는 일관성이란 , 데이터 타입이 정수형(integer)인데, 갑자기 문자열(String)이 되지 않는 것을 말함

- 격리성 (Isolation)

 트랜잭션 수행시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하는 것을 말함

- 지속성 (Durability)

 성공적으로 수행된 트랜잭션은 영원히 반영이 되는 것을 말함

 commit을 하면 현재 상태는 영원히 보장됨

 

데이터 병령처리하는데 있어서 부정합을 방지하는데 트랜잭션 사용은 중요하다

댓글