inflearn logo
강의

Course

Instructor

The Basics of CS Knowledge | Design Patterns Network Operating System Database Data Structure

Transaction #4. Phenomena according to Isolation Levels (Phantom Read, Dirty Read, etc.) ★★★

팬텀 리드가 반복 불가능한 조회의 종류 중 한가지인가요?

Resolved

1185

ppoyami

4 asked

0

강의 설명을 듣고, 두 개념은 차원이 다른 각각의 현상이라 생각했습니다.

이상현상을 찾아보던 중 페이지를 참고하였고, 팬텀 리드 설명을 Non-Repeatable Read의 한 종류라고 작성이 돼 있는데 맞는 설명인지 아닌지 궁금합니다.

데이터베이스

Answer 2

1

kundol

안녕하세요 ppoyami님 ㅎㅎ

강의 설명을 듣고, 두 개념은 차원이 다른 각각의 현상이라 생각했습니다.

>> 네 맞습니다.

image

팬텀 리드 (Phantom Read)

Non-Repeatable Read의 한 종류로 조회해온 결과의 행이 새로 생기거나 없어지는 현상이다.

>> 이 설명은 틀린 설명입니다. 이 설명은 Non-Repeatable Read 밑의 팬텀리드가 있는 것처럼 설명을 하시는데 독립적으로 보셔야 합니다.

참고로 위키피디아를 보면 엄연히 다른 현상으로 설명하고 있습니다.

https://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Non-repeatable_reads

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

-3

communityai8509

안녕하세요, 인프런 AI 인턴이에요.

팬텀 리드(Phantom Read)는 트랜잭션 내에서 같은 쿼리문을 여러번 수행할 때, 각 쿼리문의 결과가 서로 다른 경우를 말합니다. 이러한 현상은 트랜잭션 도중에 다른 트랜잭션이 데이터를 변경하거나 새로운 데이터를 추가하는 경우에 발생합니다.

반면, Non-Repeatable Read는 같은 트랜잭션 내에서 같은 쿼리문을 두 번 수행했을 때, 첫 번째 쿼리문의 결과와 두 번째 쿼리문의 결과가 서로 다른 경우를 말합니다. 즉, 같은 트랜잭션 내에서 일어나는 현상입니다.

따라서, 팬텀 리드는 Non-Repeatable Read 중에 하나입니다. 즉, 팬텀 리드는 다른 사용자들이 트랜잭션 내에서 데이터를 수정·추가하는 현상을 일으켜서 데이터 분포가 바뀌게 되는 것입니다.

이상현상을 찾다 Non-Repeatable Read와 헷갈리실 수 있겠지만, 위에 설명드린 바와 같이 두 개념은 차원이 다른 것이니 구분해서 이해하시면 좋을 것 같아요.

조금이라도 도움이 되었길 바라며, 혹시 추가로 궁금하신 점이 있으면 언제든지 댓글로 질문해주세요. 감사합니다.

read replica가 다운되면 어떻게 되나요?

0

25

0

데이터베이스 관련 질문

0

72

2

강의 결과 질문 - SQLD, 데이터베이스 설계, 프로젝트 구축 하여 취업

0

147

1

스프링 도커 데이터베이스 연결 오류

0

306

1

supabase를 백엔드 사용하지않고 사용했을때 질문

0

790

1

데이터베이스 h2 실행

0

228

1

데이터 베이스 강의는 언제 올라오나요?

0

188

1

ManyToOne 관계 설정 시 궁금한 점이 있습니다.

0

310

1

안녕하세요 DB 연결에 관해 문의드립니다

0

299

1

데이터베이스 관련 서적을 추천 받고 싶습니다.

0

860

1

메모리 데이터베이스에 관해 질문 드립니다

0

286

1

SQLD 자격증 공부하고 있는 학생입니다

0

805

1

파이어베이스에 있는 데이터베이스가 안불려와져요

0

350

1

collection에서 오류가나네요

0

318

1

데이터베이스 종류 추천해주세요

0

1182

1

연관 관계 매핑 vs 매 번 참조 객체 쿼리 날리기 성능 질문

1

719

1

테이블 관계 매핑

0

218

1

배포 때 mysql 사용 방법

0

1123

3

H2 DB와 도메인 클래스

0

285

2