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

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

해설

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

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

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

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...