Lock에 대해서 정리해보려한다.
Lock이란??
데이터의 일관성을 보장하기 위한 방법.
Lock의 종류는 2가지로 나뉜다.
- Shared Lock (공유 Lock 또는 Read Lock)
데이터를 조회할때 사용. Read Lock이 걸려있을때는 다른 Read Lock을 설정할 수 있음
데이터에 Lock을 걸었지만 다른 사용자나 기기에선 조회가 가능하지만 변경이 불가능 - 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 |
---|