I. 가상 튜플 충돌 현상, 팬텀 충돌의 개요 가. 팬텀 충돌(Phantom Conflict)의 정의 서로 충돌하지 않는 두 개 이상의 트랜잭션이 삽입되려고 하는 가상의 튜플에 의해 충돌이 발생되는 현상 트랜잭션의 일관성이 보장되지 않는 현상 나. 팬텀 충돌의 영향 읽기 수행 시 – 다른 트랜잭션의 삽입으로 처음 읽을 때 없던 튜플이 다음에 읽을 때 나타남 쓰기 수행 시 – 다른 트랜잭션의 삭제 동작으로 처음 쓰기
I. RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능 II. 결과값이 상이한
I. 트랜잭션 격리 수준의 개념 하나의 트랜잭션 수행 시 다른 트랜잭션으로부터 독립성을 가지는 수준 II. 트랜잭션의 격리 수준 트랜잭션 격리 수준 격리 수준 내용 Read Uncommitted – 트랜잭션 중 Commit 되지 않은 데이터를 다른 트랜잭션이 읽기 허용 Read Committed – 트랜잭션이 Commit되어 확정된 데이터만 다른 트랜잭션이 읽기 허용 Repeatable Read – 트랜잭션 진행 중 외부