본문 바로가기

Database

Lock의 개념

Lock에 대해서 정리해보려한다.

 

 

Lock이란??

 

데이터의 일관성을 보장하기 위한 방법. 

 

Lock의 종류는 2가지로 나뉜다.

 

  1. Shared Lock (공유 Lock 또는 Read Lock)

    데이터를 조회할때 사용. Read Lock이 걸려있을때는 다른 Read Lock을 설정할 수 있음
    데이터에 Lock을 걸었지만 다른 사용자나 기기에선 조회가 가능하지만 변경이 불가능

  2. Exclusive Lock (배타적 Lock 또는 Write lock)

    데이터를 변경할때 사용, Write Lock이 걸려있을때는 다른 Write Lock을 설정할 수 없음.

 

Dead Lock이란?

- 2개 이상의 트랜잭션이 리소스의 Lock을 할당받기위해서 발생하는 교착상태

 

Dead Lock 해결방안

- Dead Lock을 발견하면 하나의 트랜잭션을 강제종료한다.

- 접근 순서를 동일하게하고 접근 순서 규칙을 정한다.

 

 

Lock Level?

 

- Row Level

- Table Level

- File Level

- Page Level

- Database Level 

'Database' 카테고리의 다른 글

Transaction이란?  (0) 2021.10.19