인프런 커뮤니티 질문&답변

ppoyami님의 프로필 이미지
ppoyami

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

트랜잭션 #4. 격리수준에 따른 현상 (팬텀리드, 더티리드 등) ★★★

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

해결된 질문

작성

·

1K

0

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

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

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ppoyami님 ㅎㅎ

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

>> 네 맞습니다.

image

팬텀 리드 (Phantom Read)

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

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

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

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

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

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

감사합니다.

강사 큰돌 올림.

-2

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

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

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

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

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

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

ppoyami님의 프로필 이미지
ppoyami

작성한 질문수

질문하기