Pessimistic Lock(비관적 락)
- 자원에 대한 동시성이 발생하 것이라보고 자원에 접근 할 때 Lock을 걸어 해당 자원을 선점하는 형태
- 일반적으로 많이 사용하는 형태의 락이지만 교착 상태와 같은 문제를 발생시킬 수 있음
Optimistic Lock(낙관적 락)
- 자원을 미리 선점하지 않고 변경할 때 Version을 확인하여 동시성을 제어하는 방식
- UPDATE DUAL SET VERSION = VERSION + 1 WHERE VERSION = 1
- 업데이트 시 버전 정보를 넘겨서 해당 버전으로 데이터가 존재할 시 업데이트 진행하고 이미 다른 처리에 의하여 버전이 달라졌을 경우 에러를 발생시킴
- 에러가 발생했을 경우 Application level에서 후처리 진행
'자바 개발자되기' 카테고리의 다른 글
자바 스터디 2주차 : 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법 (0) | 2020.11.20 |
---|---|
캐싱 정책 Inline Cache, Cache Aside (0) | 2020.11.18 |
Database Lock과 Blocking (0) | 2020.11.10 |
자바 스터디 1주차 : JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2020.11.08 |
프록시패턴을 사용하는 이유 (0) | 2020.11.07 |