Learning
토픽 55 / 201·무결성 및 트랜잭션

비관적 동시성 제어 (Pessimistic Concurrency Control)

비관적 동시성 제어 (Pessimistic Concurrency Control)

트랜잭션 충돌이 빈번하다는 가정 하에 데이터 접근 전 미리 잠금(Lock)을 획득하여 충돌을 사전에 방지하는 동시성 제어 기법

특징: 충돌 완전 방지, 동시성 저하, 교착상태 위험, 쓰기 위주 환경에 적합

동작원리

  • 잠금 획득: 데이터 접근 전 공유/배타 잠금 설정
  • 데이터 처리: 잠금 보호 하에 읽기/쓰기 수행
  • 잠금 해제: 트랜잭션 완료 후 잠금 반환

기술요소

  • 공유락(S-Lock): 읽기 보호, 다중 읽기 허용
  • 배타락(X-Lock): 쓰기 보호, 독점 접근
  • SELECT FOR UPDATE: 읽기 시 배타적 잠금 획득

적용사례: 쓰기 위주 시스템, 금융 거래, 재고 차감

비교: 비관적(사전잠금/충돌방지/동시성낮음) vs 낙관적(사후검증/롤백가능/동시성높음)

연관: 락킹, 동시성 제어, 2PL, 교착상태