728x90
Isolation(격리 수준)
종류
- READ_UNCOMMITED (level 0)
- READ_COMMITED (level 1)
- REPEATABLE_READ (level 2)
- SERIALIZABLE (level 3)
READ_UNCOMMITED
: 트랜잭션 처리중인(Uncommitted or Dirty) 데이터를 읽을 수 있다.
READ_COMMITED
: 커밋된 데이터만 읽을 수 있음 (dirty read 방지)
REPEATABLE_READ
: 트랜잭션이 완료될 때까지 SELECT문에 사용되는 모든 데이터에 shared lock이 걸려 데이터 수정이 불가능하다.
* phantom read (한 트랜잭션 내에서 같은 쿼리를 두 번 수행 시, 첫 번째 쿼리에서 없던 레코드가 두 번째 쿼리에서 발생하거나 없어질 수 있음)가 발생할 수 있음
SERIALIZABLE
: 데이터의 일관성 및 동시성을 위해 MVCC(Multi Version Concirrency Control : 데이터 조회 시 Lock을 사용하지 않고, 버전을 관리해 데이터의 일관성 및 동시성을 높이는 기술)를 사용하지 않음, 트랜잭션이 완료될 때까지 다른 사용자는 그 영역에 해당되는 데이터에 대한 수정 및 입력이 불가능
728x90
'Spring Boot' 카테고리의 다른 글
Redis (0) | 2022.03.26 |
---|---|
DBCP (1) | 2022.03.26 |
인메모리 데이터베이스 (0) | 2022.03.05 |
CORS (0) | 2022.02.28 |
HATEOAS (0) | 2022.02.28 |
댓글