본문 바로가기
IT기술노트/데이터베이스

Phantom Conflict

by 비트코기 2021. 3. 6.

I. Phantom Conflict의 개요

가. Phantom Conflict의 정의

   - 두 개 이상의 트랜잭션이 실제 데이터베이스에 저장되어 있는 튜플이 아니라 데이터베이스에 삽입되려는 가상의 튜플, 즉 팬텀 튜플에 의해 트랜잭션이 충돌되어 일관성 및 무결성 보장되지 않는 현상

나. Phantom Conflict의 영향

영향

설명

읽기 수행 시

- 다른 트랜잭션의 삽입 결과로 처음 읽을 때 없었던 행이 다음에 읽을 시 나타날 수 있음

삭제 수행 시

- 다른 트랜잭션이 삭제 동작으로 인해 트랜잭션이 첫 번째 행 범위를 읽을 때 있었던 행이 재 수행 시 사라질 수 있음


II. Phantom Conflict 발생 해결방안

해결방법

설명

Locking

단위 확대

- Locking의 단위를 튜플이 아니라 릴레이션으로 확대

Index Locking

- 트랜잭션이 한 릴레이션에 튜플을 삽입하려면 그 릴레이션을 기초로 만들어진 모든 인덱스를 갱신해야 한다.

 

반응형

'IT기술노트 > 데이터베이스' 카테고리의 다른 글

3단계 스키마구조  (0) 2021.03.06
데이터 독립성(Data Independency)  (0) 2021.03.06
릴레이션 무결성 (Relational Integrity)  (0) 2021.03.06
릴레이션  (0) 2021.03.06
트랜잭션(Transaction)  (0) 2021.03.06
통계 데이터베이스  (0) 2021.03.06
CRUD Matrix  (0) 2021.02.25
DBMS(Database Management System)  (0) 2021.02.25

댓글