데이터베이스에서 동작을 수행하는 최소 단위 이다.
WHY?
하나의 동작을 수행하기 위해 여러 쿼리문이 수행될 수 있다. 이 때, 모든 동작이 종료되기 전에 어떠한 이유로 쿼리가 비정상적으로 종료되면 문제가 발생하게 된다. 예를 들어, A(1000원 보유) 에서 B(1000원 보유)로 500원을 송금하는 동작을 수행 할 때,
와 같이 두 번의 쿼리가 발생한다. 만약,
와 같이 중간에 종료되게 되면 A(500원 보유) B(1000원 보유)로 데이터 정합성에 문제가 발생하게 된다. 이러한 현상을 방지하기 위해 위와 같은 여러 번의 쿼리를 하나의 동작으로 묶어 트랜잭션 도중 오류로 인해 종료되게 되면 트랜잭션 내부의 모든 쿼리가 실패처리 된다.
ACID (트랜잭션의 특징)
트랜잭션은 데이터베이스에서 데이터에 대한 동작을 수행할때 데이터 정합성을 보장하기 위해 사용된다. 간단히, 어떤 동작(서비스)을 수행하기 위한 여러 쿼리문을 하나의 오퍼레이션으로 취급하는 것 이다.