728x90
반응형
데이터베이스 트랜잭션에 대한 격리성이 낮은 경우 발생할 수 있는 문제점
Dirty Read, Non-repeatable Read, Phantom Read, Lost Update
Dirty Read | 하나의 트랜잭션이 아직 커밋되지 않은 다른 트랜잭션의 변경사항을 읽는 경우, 잘못된 데이터를 읽을 수 있다. 이로 인해 커밋되지 않은 변경 사항이 롤백되면 읽은 데이터는 실제로 존재하지 않는 데이터가 된다. |
Non-repeatable Read | 동일한 트랜잭션 내에서 동일한 쿼리를 반복해서 실행할 때, 다른 트랜잭션이 해당 데이터를 변경하거나 삭제하는 경우, 처음과 다른 결과를 얻게 된다. 이로인해 데이터의 일관성이 깨질 수 있다. |
Phantom Read | 동일한 쿼리를 반복해서 실행할 때, 다른 트랜잭션이 해당 데이터를 삽입 또는 삭제하는 경우, 처음과 다른 결과를 얻게 된다. 이로 인해 조회 결과에 예상치 못한 데이터가 추가되거나 제거될 수 있다. |
Lost Update | 두 개 이상의 트랜잭션이 동일한 데이터를 동시에 수정하는 경우, 마지막으로 커밋된 트랜잭션의 변경 사항이 덮어 씌워져 이전의 변경 사항이 손실될 수 있다. |
728x90
반응형
'SQL개발자 (SQLD)' 카테고리의 다른 글
SQLD 장 쿼리 다회차 오답 문제(66, 80, 93, 101, 102) (0) | 2023.06.03 |
---|---|
노랭이 98번 group by 와 order by (0) | 2023.05.31 |
SQLD 노랭이 41,42번 반정규화 개념정리 (0) | 2023.05.31 |
SQLD 노랭이 1차정규화 37,38번 문제 (0) | 2023.05.31 |
[SQLD]SQL 자격검정 실전문제 (노랭이) 답안지 (2) | 2023.05.29 |