처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

낙관적 잠금(Optimistic Locking)과 비관적 잠금(Pessimistic Locking)의 차이점은?

어려움 freeCodeCamp
보기 및 정답
A 낙관적 잠금은 충돌이 드물다고 가정하고 커밋 시점에 충돌을 감지하며, 비관적 잠금은 데이터 접근 시 미리 잠금을 건다
B 비관적 잠금은 잠금 경합이 없으므로 항상 낙관적 잠금보다 성능이 우수하고 트랜잭션 처리량이 높다
C 낙관적 잠금에서는 데이터의 읽기만 허용되며, 어떤 경우에도 데이터를 변경하거나 갱신할 수 없다
D 두 방식은 잠금의 구현 방법과 동작 원리가 모두 동일하며, 성능이나 충돌 처리 방식에 실질적인 차이가 없는 것으로 알려져 있다

해설

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

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기