낙관적 잠금(Optimistic Locking)과 비관적 잠금(Pessimistic Locking)의 차이점은?
어려움 freeCodeCamp해설
낙관적 잠금은 충돌이 거의 없다고 가정하여 잠금 없이 작업하다가 커밋 시 버전 번호나 타임스탬프로 충돌을 감지합니다. 비관적 잠금은 데이터를 읽을 때 즉시 락을 걸어 다른 트랜잭션의 접근을 차단합니다. 읽기가 많으면 낙관적, 쓰기 충돌이 잦으면 비관적 잠금이 유리합니다.
낙관적 잠금은 충돌이 거의 없다고 가정하여 잠금 없이 작업하다가 커밋 시 버전 번호나 타임스탬프로 충돌을 감지합니다. 비관적 잠금은 데이터를 읽을 때 즉시 락을 걸어 다른 트랜잭션의 접근을 차단합니다. 읽기가 많으면 낙관적, 쓰기 충돌이 잦으면 비관적 잠금이 유리합니다.