[데이터베이스] Transaction(트랜잭션)이란?
·
공부/데이터베이스
우리가 게임을 할 때면 상대방과 거래를 하는 경우가 생긴다. 내가 100골드를 내고 상대방이 갖고 있는 방패를 구매하려고 한다. 나는 상대에게 100골드를 줬고, 상대도 나에게 방패를 줬다. 이때 게임에 오류가 발생해서 상대의 방패가 증발했다면, 매우 곤란한 상황이 펼쳐진다. 나는 돈을 냈는데 얻은 게 없고 상대도 방패를 줬으니 잘못이 없다. 이런 곤란한 상황을 막기 위해 있는 것이 바로 Transaction(트랜잭션)이다. 트랜잭션은 데이터베이스 혹은 비슷한 시스템에서 업무를 수행하는 작업단위를 말한다. 트랜잭션에는 4가지 특징이 있다. 1️⃣ 원자성(Atomicity) 게임서버에서도 중요하게 나왔던 개념이다. 한 번에 실행되어야 하는 코드는 중간에 멈추거나 삭제되지 않고 처음부터 끝까지 한 번에 실행..