반응형
I. 교착상태의 개요
가. 교착상태(Deadlock)의 정의
- 다수의 트랜잭션이 특정 자원의 할당을 무한정 기다리고 있는 무한 대기 상태
나. 교착상태의 개념도
![]() |
II. 교착상태의 발생조건 및 예방활동
가. 교착상태의 발생조건
조건 |
설명 |
상호배재 |
- 트랜잭션이 자원을 배타적으로 점유하여 다른 트랜잭션이 그 자원을 사용 못함 |
점유와대기 |
- 트랜잭션은 자원을 점유하고 있고, 다른 자원을 요구 |
비선점 |
- 트랜잭션에 할당된 자원은 점유한 트랜잭션에 의해 해제 될 때 까지 다른 트랜잭션에 의해 해제될 수 없음 |
순환대기 |
- 트랜잭션 간 자원 요청이 하나의 원형 체인으로 구성 |
나. 교착상태의 예방활동
구분 |
설명 |
단점 |
상호배재 부정 |
- 공유할 수 없는 자원을 사용 |
|
점유와대기 부정 |
- 트랜잭션이 자원을 요청할 때 다른 자원들을 점유하지 않을 것을 보장 |
- 불가능, Starvation 발생가능 |
비선점 부정 |
- 자원을 점유한 트랜잭션이 다른 자원의 할당 요구가 받아들여지지 않으면 점유 자원 반납 |
- 비용증가, Starvation 발생가능 - 일부 자원은 안전하게 선점불가 |
순환대기 조건의 부정 |
- 모든 트랜잭션에게 각 자원의 유형별로 할당순서 부여 |
- 새로운 자원 추가 시 재구성 필요 |
III. 교착상태 해결방안
해결방안 |
설명 |
트랜잭션 |
- 같은 순서의 액세스, 처리 시간 감소, 적은 수의 행에 대한 질의 - Wait-die와 Wound-Wait |
DBMS |
- 인덱스 설정, 테이블 정규화, Isolation Level 조정, Lock Timeout 설정 - 프로시저 우선순위 설정 |
반응형
'IT기술노트 > 데이터베이스' 카테고리의 다른 글
체크포인트(Checkpoint) 회복기법 (0) | 2021.03.07 |
---|---|
로그기반 회복기법 (0) | 2021.03.07 |
REDO, UNDO (0) | 2021.03.07 |
데이터회복(Data Recovery) (0) | 2021.03.07 |
낙관적 검증(Validation) 기법 (0) | 2021.03.07 |
타임스탬프 순서(Timestamp Ordering) 기법 (0) | 2021.03.07 |
2PL (2Phase Locking) (0) | 2021.03.07 |
Locking (0) | 2021.03.07 |
댓글