동시에 여러 트랜잭션이 실행 될 때, 한 트랜잭션이 다른 트랜잭션에 의해 수행된 변경 사항을 어느 정도 볼 수 있는지 정의하는 것
각 데이터베이스 관리시스템은 이러한 격리 수준 중 하나를 기본값으로 설정하며, 필요에 따라 개발자가 변경할 수 있음
Read Uncommitted는 변경 사항이 확정되지 않은 상태에서 다른 트랜잭션이 그 결과를 확인할 수 있고, Read Committed는 변경 사항이 확정된 후에만 다른 트랜잭션이 결과를 확인
A 고객의 결제가 진행되는 동안, B 고객은 사과 재고를 확인하거나 구매할 수 없습니다. B 고객은 A 고객의 결제가 완료된 후에만 사과 재고를 확인하거나 구매할 수 있습니다.
이 격리 수준에서는 "더티 리드(Dirty Read)", "논리적 모순(Non-Repeatable Read)", 그리고 "팬텀 리드(Phantom Read)"와 같은 문제가 발생하지 않습니다. 그 이유는 각 트랜잭션이 순차적으로 실행되므로, 데이터의 일관성이 유지되기 때문입니다.
Django는 데이터베이스 관리 시스템(DBMS)에 따라 다양한 격리 수준을 지원합니다. Django 자체에는 기본 격리 수준이 정의되어 있지 않으며, 사용하는 데이터베이스 엔진의 기본 격리 수준을 따름