
트랜잭션 격리 수준(Transaction Isolation Level)
Transaction이란? 트랜잭션(Transaction)은 하나의 작업 단위를 의미한다. 데이터베이스에 저장되어 있는 데이터를 CRUD(Create/Read/Update/Delete)를 통해 제어하는데, 단건이 아니라 여러 변경사항을 하나의 작업으로 취급하기 위해 트랜잭션을 사용한다. 예를 들어, 은행 시스템에서 돈을 송금하는 로직을 구현할 때, A 계좌에서는 돈을 차감하고 B 계좌에서는 돈을 증가 시키는 작업은 하나의 단위로 취급되어야한다. 즉, All or Nothing에 대한 개념이 도입되는 것이고 일괄성을 보장하기 위한 용도로 트랜잭션이 사용되는 것이다. 그런데 일관성을 보장하기 위해서는 병행성을 Trade-Off로 내어줘야한다. 당연한 결과이다. 데이터를 일관되게 보장하기 위해서 하나의 ses..