[OS] Transaction Isolation Level

Transaction Isolation Level

트랜잭션의 동시성 문제를 예방하기 위해 락을 제어하는 수준

READ UNCOMMITTED

어떤 트랜잭션에서 처리한 작업이 완료되지 않아도 다른 트랜잭션에서 이를 볼 수 있다. 그렇기 때문에 Dirty Read가 발생한다.

READ COMMITTED

어떤 트랜잭션에서 처리한 작업이 완료되지 않으면 다른 트랜잭션에서 이를 볼 수 없다.

REPEATABLE READ

어떤 트랜잭션이 시작한 작업 이전의 데이터만 참조하여 가져온다. 트랜잭션 번호를 사용해서 조회하며 자신의 번호보다 높은 레코드가 저장되어 있는 경우 언두 영역에서 데이터를 조회한다.

SERIALIZABLE

모든 트랜잭션을 순차적으로 수행한다. 동시성은 제일 낮아지지만 격리 수준은 제일 높아진다.

Author: Song Hayoung
Link: https://songhayoung.github.io/2020/06/18/Database/Transaction_Isolation_Level/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.