
If data conflicts are rare, a strategy where data is read without placing any physical locks."충돌은 드물게 일어날 것"이라는 가정을 전제로 하는 전략이다. 그래서 미리 락을 걸어 접근을 막는 대

충돌이 잦을 거라고 가정하고, 다른 트랜잭션이 해당 데이터를 동시에 변경하지 못하도록 락을 획득하고, 필요한 경우 다른 트랜잭션이 락이 해제될 때까지 대기하게 한다.SELECT ... FOR UPDATE처럼 조회 시점에 row를 잠근다.이는 낙관적 락과 반대로 "선 차
앞선 글에서 낙관적 락과 비관적 락을 각각 적용해 보았다.낙관적 락은 충돌이 드물 것이라고 가정하고, 일단 작업을 진행한 뒤 저장하는 시점에 충돌 여부를 확인하는 방식이다.반대로 비관적 락은 충돌이 발생할 가능성이 높다고 가정하고, 데이터를 조회하는 시점부터 다른 트랜
앞서 살펴본 낙관적 락과 비관적 락은 DB에서의 동시성 제어 방법이다. Java 애플리케이션에서도 여러 Thread가 하나의 자원을 동시에 접근하면서 동시성 문제가 발생할 수 있는데, Java에서는 synchronized 키워드를 통해 이러한 동시성 문제를 제어할 수

# 분산락이란 여러 대의 서버나 프로세스가 동시에 같은 공유 자원에 접근할 때, 데이터 충돌을 막기 위한 방법이다. 낙관적 락과 비관적 락은 DB에서, `synchronized`는 JVM에서 동작한다면, 분산락은 여러 서버가 공유할 수 있는 외부 저장소를 두고 여기