트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다.
데이터베이스의 상태를 변화시킨다는 것은 아래의 질의어(SQL)를 이용하여 데이터베이스를 접근하는 것을 의미한다.
여기서 작업의 단위는 질의어 한 문장이 아닌 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정한다는 것이다.
가장 많이 예를 드는 것으로는 송금이다. A가 B에게 1,000원을 송금을 한다면, 데이터베이스에서는 A계좌에서 1,000원을 차감하고, B계좌에서 1,000원을 추가한다. 여기서 차감하고 추가하는 쿼리 작업을 통틀어 트랜잭션이라고 한다.
그리고 성공적으로 트랜잭션이 완료되었다는 의미로 commit이라고 한다. 만약, 쿼리문중 문제가 발생하여 commit할 수 없는 경우 이전 수행했던 작업을 모두 취소하고 rollback하여 이전 상태로 되돌린다.
위와 같은 트랜잭션의 특징을 담은 것이 ACID
이다.
그러나 위 ACID를 다 만족하기 위해서는 성능이 떨어지게 되어 종종 완화되곤한다. 완화에 따라선 등급을 정하는데 이것을 Isolation level
이라고 한다.
[트랜잭션(Transaction)이란?, mommoo tistory]