Skip to main content

Pessimistic Lock

데이터베이스에서 동시성을 관리하기 위한 방법 중 하나로, Database-level에서 이루어진다. Optimistic Lock과는 달리, 말 그대로 업데이트가 자주 발생할 것이라는 비관적인 가정 하에 동작한다.

특정 레코드나 테이블에 Lock을 걸어, 읽기 및 쓰기 작업을 방지한다. 이 Lock은 Transaction 과정동안 유지된다. 이후 Transaction이 성공해 커밋 또는 롤백될 경우 Lock이 해제된다.

Transaction동안 유지되기 때문에 일관성을 보장받을 수 있지만, 레코드 또는 테이블에 Lock이 걸려 데드락이 발생할 가능성이 존재한다.

따라서 데이터의 일관성이 중요하거나 충돌할 가능성이 높은 경우에 적합하다.

Related Links