토픽 55 / 201·무결성 및 트랜잭션
비관적 동시성 제어 (Pessimistic Concurrency Control)
비관적 동시성 제어 (Pessimistic Concurrency Control)
트랜잭션 충돌이 빈번하다는 가정 하에 데이터 접근 전 미리 잠금(Lock)을 획득하여 충돌을 사전에 방지하는 동시성 제어 기법
특징: 충돌 완전 방지, 동시성 저하, 교착상태 위험, 쓰기 위주 환경에 적합
동작원리
- •잠금 획득: 데이터 접근 전 공유/배타 잠금 설정
- •데이터 처리: 잠금 보호 하에 읽기/쓰기 수행
- •잠금 해제: 트랜잭션 완료 후 잠금 반환
기술요소
- •공유락(S-Lock): 읽기 보호, 다중 읽기 허용
- •배타락(X-Lock): 쓰기 보호, 독점 접근
- •SELECT FOR UPDATE: 읽기 시 배타적 잠금 획득
적용사례: 쓰기 위주 시스템, 금융 거래, 재고 차감
비교: 비관적(사전잠금/충돌방지/동시성낮음) vs 낙관적(사후검증/롤백가능/동시성높음)
연관: 락킹, 동시성 제어, 2PL, 교착상태