일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 이펙티브 자바
- 알고리즘
- dfs
- JPA
- 파이썬
- dataframe
- 비트마스크
- java
- disjoint set
- 세그먼트 트리
- pandas
- equals
- series
- 포트앤어댑터 아키텍처
- DP
- 다익스트라
- Redis
- 데이터 flow
- ddd
- 위상정렬
- 문자열
- spring security
- UML
- springboot
- BFS
- 자바
- docker
- 헥사고날 아키텍처
- 백준
- 스프링
Archives
- Today
- Total
목록Optimistic Locking (1)
코딩못하는사람
JPA 동시성 문제
동시성 문제란? 두 개 이상의 세션이 공통된 자원에 대해서 읽고 쓰는 작업을 할 때 발생할 수 있는 문제이다. 기본적으로 동시성 문제는 완전한 해결이 있는 것이 아닌 타협이 있다. 성능을 포기하고 정확성을 높이느냐, 정확성을 타협하고 성능을 높이느냐이다(ex 트랜잭션 격리 단계) JPA에서도 JPA Transaction의 동시성을 제어하고자 하는 방법이 있다. JPA는 객체를 조회하면 영속성 컨텍스트에 캐시하기 때문에 "일관성 없는 읽기"의 문제는 없다. 주로 해결해야 하는 문제는 "갱신 손실"이다. 갱신 손실을 해결하기 위한 두가지 방법이 있다. Optimistic Lock(낙관적 잠금) 세션1이 데이터를 읽어 왔더라도 다른 세션인 세션2도 해당 데이터에 자유롭게 접근할 수 있다. 하지만 세션2가 Wr..
JPA
2021. 12. 31. 05:33