개발자로 일하다 보면 트랜잭션 관련 이슈가 참 많이 발생합니다. 특히 동시성 처리가 필요한 서비스에서는 더욱 그렇죠. 오늘은 제가 최근 프로젝트에서 맞닥뜨렸던 트랜잭션 관련 문제와 해결 과정을 공유하려고 합니다.트랜잭션 고립성(Isolation)이란?트랜잭션의 ACID 속성 중 하나인 고립성은 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않도록 보장하는 성질입니다. 간단히 말해, 여러 사용자가 동시에 데이터를 조작해도 각자의 작업이 독립적으로 수행되는 것처럼 보이게 하는 거죠.근데 이게 생각보다 까다롭습니다. 완벽한 고립성을 제공하면 동시성이 떨어지고, 동시성을 높이면 데이터 일관성에 문제가 생길 수 있어요. 그래서 데이터베이스는 여러 고립성 수준을 제공합니다.고립성 수준(Isolation Level..