Shared Lock, Exclusive Lock
데이터베이스 Lock에는 크게 두 가지가 있다.
1. Shared Lock
보통 읽기 작업을 진행할 때 사용되는 Lock으로 다른 사용자가 조회는 가능하지만 변경은 불가하다.
2. Exclusive Lock
보통 변경 작업을 진행 할 때 사용되며 해당 Lock이 걸리면 Shared Lock 뿐만 아니라 추가적인 Exclusive Lock도 불가하다.
Blocking
블록킹이란 Lock들간의 경합으로 더 이상 처리를 진행할 수 없는 상태를 말한다.
블록킹을 예방 할 수 있는 다양한 방법이 있지만 그중 실제 업무에서 활용했던 부분은 lock_timeout을 설정하는 것 이다.
set lock_timeout 1000
위 와 같이 lock_timeout을 설정하면 ms 단위로 해당 Lock의 최대 시간을 지정할 수 있다.
'자바 개발자되기' 카테고리의 다른 글
캐싱 정책 Inline Cache, Cache Aside (0) | 2020.11.18 |
---|---|
비관적 락, 낙관적 락 (0) | 2020.11.12 |
자바 스터디 1주차 : JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2020.11.08 |
프록시패턴을 사용하는 이유 (0) | 2020.11.07 |
Java Reflection과 DI(Dependency Injection) (0) | 2020.11.07 |