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

락킹 (Locking)

락킹 (Locking)

트랜잭션이 데이터에 접근할 때 잠금(Lock)을 걸어 다른 트랜잭션의 동시 접근을 제어하는 동시성 제어 기법

특징: 데이터 무결성 보호, 잠금 관리 오버헤드, 교착상태(Deadlock) 위험

구성요소

  • 공유락(S-Lock, Shared Lock): 읽기 시 획득, 다른 트랜잭션 읽기 허용/쓰기 차단
  • 배타락(X-Lock, Exclusive Lock): 쓰기 시 획득, 모든 다른 접근 차단
  • 의도락(Intent Lock): 테이블 수준에서 행 잠금 의도 표시 (IS, IX, SIX)

잠금 단위(Granularity)

  • 행 락(Row Lock): 세밀한 제어, 동시성 높음, 오버헤드 큼
  • 페이지 락(Page Lock): 중간 수준의 제어
  • 테이블 락(Table Lock): 단순, 동시성 낮음, 오버헤드 적음

적용사례: 동시 수정 방지, 읽기/쓰기 제어

비교: 공유락(읽기허용/동시성높음) vs 배타락(독점/동시성낮음) vs 의도락(계층적잠금)

연관: 동시성 제어, 2PL, 교착상태, Lock Escalation