Database Lock

Lock이란?

Lock이란 트랜잭션 차이의 순차성을 보장하기 위한 방법이다.
여기서 트랜잭션이란 독립적으로 처리할 수 있는 최소한의 단위를 의미한다.
Lock은 DBMS마다 구현하는 방식이나 방법이 다르기때문에 DBMS별로 Lock의 개념을 이해하고 있어야 한다.

DB 락이란?

DB 락은 여러 개의 트랜젝션들이 하나의 데이터로 동시에 접근하려고 할때 이를 제어해주는 것이다.

DB 락의 종류

Lock의 종류로는 공유락(Shared Lock), 베타락(Exclusive Lock)이 있으며 이는 각각 Read Lock, Write Lock이라고도 불린다.

  • 공유락(LS, Shared Lock)
    • 트랜잭션이 읽기 할 때 사용하는 락, 데이터를 읽을 수 있지만 쓸 수 없다.
  • 베타락(LX, Exclusive Lock)
    • 트랜잭션이 읽고 쓰기를 할때 사용하는 락, 데이터를 읽고 쓸 수 있다.

베타 제어

낙관적 잠금

여러 사람들은 거의 동시에 자원을 변경하지 않을 것이라고 낙관적인 관점에서 독점 제어.

비관적 잠금

여러 사람들이 동일한 자원을 자주 변경한다는 가정의 비관적 관점에서 독점 제어.