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

데이터베이스에서 비관적 잠금(Pessimistic Locking)의 핵심 동작 방식으로 올바른 것은?

보통 Stack Overflow
보기 및 정답
A 데이터를 읽는 즉시 잠금(lock)을 걸어 다른 트랜잭션이 해당 데이터를 수정하지 못하게 한다
B 충돌이 드물다고 가정하고 커밋 시점에 버전 번호를 확인하여 충돌하면 롤백한다
C 잠금을 사용하지 않고 타임스탬프나 버전 번호를 비교하여 동시성 충돌을 감지하는 것으로 알려져 있다
D 읽기 요청과 쓰기 요청을 분리하여 별도의 데이터베이스 인스턴스에서 수행한다

해설

비관적 잠금은 충돌이 자주 발생할 것이라 가정하고, SELECT FOR UPDATE 등으로 데이터를 읽을 때 미리 잠금을 겁니다. 트랜잭션이 완료될 때까지 다른 트랜잭션은 대기합니다. 반대로 낙관적 잠금은 충돌이 드물다고 가정하고 버전 번호로 커밋 시점에 확인합니다.

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

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

정규반 살펴보기