SQL개발자 (SQLD)

SQLD 노랭이 28번 문제

유혁스쿨 2023. 5. 31. 15:14
728x90
반응형

데이터베이스 트랜잭션에 대한 격리성이 낮은 경우 발생할 수 있는 문제점

Dirty Read, Non-repeatable Read, Phantom Read, Lost Update

Dirty Read 하나의 트랜잭션이 아직 커밋되지 않은 다른 트랜잭션의 변경사항을 읽는 경우, 잘못된 데이터를 읽을 수 있다.
이로 인해 커밋되지 않은 변경 사항이 롤백되면 읽은 데이터는 실제로 존재하지 않는 데이터가 된다.
Non-repeatable Read 동일한 트랜잭션 내에서 동일한 쿼리를 반복해서 실행할 때, 다른 트랜잭션이 해당 데이터를 변경하거나 삭제하는 경우, 처음과 다른 결과를 얻게 된다.
이로인해 데이터의 일관성이 깨질 수 있다.
Phantom Read 동일한 쿼리를 반복해서 실행할 때, 다른 트랜잭션이 해당 데이터를 삽입 또는 삭제하는 경우, 처음과 다른 결과를 얻게 된다.
이로 인해 조회 결과에 예상치 못한 데이터가 추가되거나 제거될 수 있다.
Lost Update 두 개 이상의 트랜잭션이 동일한 데이터를 동시에 수정하는 경우, 마지막으로 커밋된 트랜잭션의 변경 사항이 덮어 씌워져 이전의 변경 사항이 손실될 수 있다.
728x90
반응형