트랜잭션 / ACID / Commit / Rollback / @Transactional
2026.08.25
여러 DB 작업이 하나의 업무를 구성한다면, 일부만 성공한 상태가 남지 않도록 하나의 트랜잭션으로 묶을 수 있다. 1. 트랜잭션이란?하나의 논리적인 작업 단위 계좌 이체를 생각해보자.A가 B에게 10,000원을 보낸다. DB에서는 실제로 두 작업일 수 있다.A 계좌 100,000 → 90,000 B 계좌 50,000 → 60,000 그런데 첫 번째 작업만 성공하고 두 번째 작업이 실패하면, A는 잔고가 10,000원 감소하고 B는 그대로가 된다.돈이 사라진 것이다. 그래서 이 두 작업을 `A 잔액 차감 + B 잔액 증가` 하나의 업무로 본다.결과도 둘 중 하나여야 한다. (둘 다 성공 or 둘 다 실패) 2. 주문도 마찬가지쿠폰 사용 → 재고 차감 → 포인트 차감 → 주문 저장각각은 다른 DB 변경일 ..