[Lock-3][Optimization] Lock: 격리성 수준(Isolation Level) 심층 분석 및 실습
·
Database/MySQL
1. 들어가며: 격리 수준은 왜 필요한가? 이전 포스팅에서 다중 트랜잭션 환경에서 데이터베이스의 가장 큰 숙제는 데이터의 정합성(Consistency) 유지와 시스템 성능(Performance)의 최적화 사이에서 균형을 잡는 일이라는 것을 알았다. 모든 트랜잭션을 하나씩 순차적으로 처리하면 정합성은 완벽하겠지만, 수많은 요청이 몰리는 현대 서비스에서 이는 불가능에 가깝다. 반대로 성능을 위해 모든 간섭을 허용하면 데이터는 아수라장이 될 것이다. 이러한 문제를 해결하기 위해 도입된 개념이 바로 격리성 수준(Isolation Level)이다. 이는 "여러 트랜잭션이 동시에 실행될 때, 서로의 연산을 어디까지 노출하고 격리할 것인가"를 정의하는 설정이다.2. 격리성 수준(Isolation Level)의 개요..