- 커밋 완료된 데이터만 조회 가능
- 가장 엄격한 격리성 레벨
- 모든 트랜잭션 순차적으로 실행하는 것과 동일한 효과
- 여러 트랜잭션이 동시에 같은 행에 접근 불가
- 팬텀 리드까지 완벽히 방지하지만, 성능이 가장 낮다
- 트랜잭션간 충돌이 많이 일어남
- Tx A가 계좌 목록 조회(balance >= 1000)
- Tx B가 새 계좌를 추가하려 하면, Tx A가 끝날 때까지 대기해야함
- 모든 동시 실행을 차단하여 완벽한 정합성 보장
- 트랜잭션이 직렬화 됨 → 매우 낮은 성능 유발
- 팬텀 리드까지 방지
극단적인 격리 방법
예시: 백화점 한 사람씩 입장 규칙
- 백화점에서 한 번에 한 명씩만 쇼핑하도록 제한
- 어떤 사람이 쇼핑하는 동안, 다른 사람은 문 앞에 서서 대기
- 앞 사람이 다 끝나야, 다음 사람이 들어가서 쇼핑 가능
모든 트랜잭션 직렬적으로 처리해 정합성이 완벽히 보장되지만, 성능이 엄청 느려질 수 있음!
허용 가능 도메인
없다
금융 시스템이나 병원 예약, 주식 거래 등 정합성이 압도적으로 필요한 도메인이더라도 다른 방법을 통해서 정합성 해결하려 하지 이 방식으로 절대 안함
이 방식을 할거면 애초에 다중 고객을 대하는 서비스가 아닌 것.
추후 배울 락을 이용해서 해결하는 경우가 훨씬 많다