상위 객체에 대한 내재 락(Intent Lock)의 필요성을 보여주는 도식

데이터베이스 락(Lock)의 종류와 역할

락(Lock)이란? 데이터베이스는 여러 사용자들이 같은 데이터를 동시에 접근하는 상황에서, 데이터의 무결성과 일관성을 지키기 위해 락을 사용합니다. Lock의 종류 데이터베이스의 락은 크게 다음과 같은 종류로 분류할 수 있습니다. 공유 락(Shared Lock) 공유 락은 데이터를 변경하지 않는 읽기 명령에 부여되는 락으로, Read Lock이라고도 불리며 Shared의 앞 글자를 따서 주로 S로 표기합니다. 여러 사용자가 동시에 데이터를 읽어도 데이터의 일관성에는 아무런 영향을 주지 않기 때문에, 공유 락끼리는 동시에 접근할 수 있습니다. 베타 락(Exclusive Lock) 베타 락은 데이터를 변경하는 쓰기 명령에 부여되는 락으로, Write Lock이라고도 불리며 X로 표기합니다. 베타 락은 이름처럼 다른 세션이 해당 자원에 접근(예: SELECT, INSERT 등)하는 것을 막습니다. 이러한 점에서 베타 락은 멀티 쓰레딩 환경에서 임계 영역을 안전하게 관리하기 위해 활용되는 뮤텍스와 유사하다고 볼 수 있습니다. 베타 락은 트랜잭션이 진행되는 동안 유지됩니다. ...

2022년 1월 21일 · 3 분 · Donghyung Ko