[Database] Transaction(트랜잭션) 이란?
트랜잭션 (Transaction) 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위 트랜잭션이 필요한 이유 SELECT → UPDATE → INSERT 순으로 동작하는 비즈니스 로직이 있다고 가정하자. 만약 UPDATE를 성공적으로 수행한 후 INSERT를 수행하는 과정에서 오류가 발생해 성공적으로 INSERT가 수행되지 않았다면, 이는 로직을 작성한 개발자가 의도한대로 처리된 것이 아니라고 봐야 한다. 따라서 개발자는 어떻게든 수행된 UPDATE를 되돌려야 하고, 이는 복잡한 추가 작업을 요구한다. 트랜잭션을 도입하면 INSERT까지 모든 쿼리가 정상적으로 수행된 경우에만 변경 사항을 반영하고(Commit), 중간에 예외 등에 의해 일부 쿼리가 정상적으로 수행되지 못한 경우에는 수행된 쿼리의 ..