정의: 안전하게 수행되는것을 보장하는 성질
성질
- Atomicity(원자성): All OR Nothing (모두 반영, 전혀 반영 x)
- Consistency(일관성): 트랜잭션 각각의 독립성 보장
- Isonlation(독립성): 트랜잭션 각각의 독립성 보장
- Durability(지속성): 트랜잭션 성공시 결과가 영구히 반영
트랜잭션 격리수준: 트랜잭션성질(ACID)도 지키면서 성능 보장을 위해 동시에 DB에 접근할때 그 접근을 어떻게 제어할지에 대한 설정
이름설명이미지비고
read-uncommitted | 커밋 전의 트랜잭션의 데이터 변경 내용을 다른 트랜잭션이 읽는 것을 허용 | Drity Read 현상 발생 가능성 있음 | |
read-committed | 커밋이 완료된 트랜잭션의 변경사항만 다른 트랜잭션에서 조회 가능 |
Non-Repeatable Read 발생 가능성 있음 : 같은 트랜잭션 내에서 같은 데이터를 조회했으나 데이터가 불일치하는 현상
|
|
repeatable-read | 트랜잭션 범위 내에서 조회한 내용이 항상 동일함을 보장 |
Pahntom Read 발생 가능성 있음 : Pahntom Read는 Non-Repeatable Read의 한종류로 Select 문을 사용했을때 데이터가 추가되거나 없어지는 현상
|
|
serializable | 한 트랜잭션에서 사용하는 데이터를 다른트랜잭션에서 접근 불가 |
출처: www.youtube.com/watch?v=e9PC0sroCzc&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=24
'게으른개발자 > 공부' 카테고리의 다른 글
@Query Annotation 사용시 null 매개변수 무시하는 방법 (0) | 2021.11.22 |
---|---|
JPA 외래키를 기본키로 사용하기 (0) | 2021.11.22 |
Fluentd로 Kafka 전송하기 설정파일 및 SSL 적용 (0) | 2021.03.14 |
Spring Boot 의존관계 주입방법 (0) | 2021.03.01 |
git fetch와 pull의 차이 (0) | 2019.07.25 |