데이터베이스
-
OptimisticLock / Pessimistic Lock / Named Lock데이터베이스 2022. 9. 26. 15:41
DB 를 통해 동시성을 제어할 때는 Pessimistic Lock, Optimistic Lock, Named Lock 세가지 방법이 있다. 이미 mysql 사용한다면 별도의 비용 없이 동시성을 제어할 수 있고, 어느 정도 트래픽까지 문제없이 사용할 수 있다. 더 좋은 성능이 필요하다면 redis 를 사용해 동시성 제어가 가능하다. Pessimistic lock 은 미리 동시에 접근한다고 가정하고 방어하기 때문에 충돌이 잦은 경우에, Optimistic lock 은 update 하는 시점에 select 해온 버전에서 데이터가 변경이 없는지 확인하고 update 를 하는데, 충돌이 거의 일어나지 않는 상황에 사용하기 적절하다. Optimistic Lock 은 버전이 달라졌을 경우 재시도하는 로직을 함께 구현..
-
-
-
-
-
-
-
반응형