트랜잭션이란?

데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다.

여기서 단위라는 말을 사용했는데, 쉽게 말하면 더 이상 쪼개질 수 없는 최소의 연산이라는 의미가 된다.

예를 들어, 만약 내가 쇼핑 앱을 켜서 상품을 구매하려고 한다.

그런데 내가 결제를 하는 짧은 시간 사이에 아래와 같은 일이 벌어지면 어떨까?

아무래도 황당할 수 밖에 없다.

위의 예외적 상황을 막기 위해, 다음과 같은 조치가 필요할 것이다.

위의 조치사항을 좀 더 간략하게 정리하면, 아래와 같이 정리할 수 있다.

<aside> 💡 “결제는 다른 사람과 독립적으로 이루어지며, 과정 중에 다른 연산이 끼어들 수 없다. 오류가 생긴 경우 연산을 취소하고 원래대로 되돌린다. 성공할 경우 결과를 반영한다.”

</aside>

여기서 결제는 트랜잭션의 예시로 든 것이다. 트랜잭션 역시, 위의 원칙을 바탕으로 한다.