Open su3inni opened 1 year ago
속도는 빠르지만 데이터 일관성은 보장 못하는 순서대로 나열한다.
아직 커밋되지 않은 데이터를 읽을 수 있다.
Dirty Read
즉, Dirty-Read, Non-Repeatable-Read , Phantom-Read 문제 발생
commit 된 데이터만 읽을 수 있다.
Non-Repeatable-Read
즉, Non-Repeatable-Read, Phantom-Read 발생
특정 데이터를 반복 조회시 같은 값을 반환한다.
Phantom-Read Non-Repeatable-Read의 한 종류로 새로운 데이터가 생기거나, 기존의 데이터가 사라지는 문제를 가지고 있다.
순차적으로 트랜잭션을 수행한다. 시간이 오래 걸린다는 단점으로 꼭 사용해야하는지 판단 후 사용하기
ACID 를 강하게 지키기 위해서 동시성이 매우 떨어지게 된다. DB엔진은 ACID를 희생하고 Transaction Isolation Level을 사용하여 높은 동시성을 얻고자 한다.
Transaction Isolation Level에 따라 다른 Lock 방법을 사용한다. Isolation Level이 높아질 수록 더 빡빡하게 Lock을 거는 방식이다.
InnoDB의 기본 설정값