Professional Documents
Culture Documents
동시성 제어 기법
동시성 제어 기법
동시성 제어 기법
동시성 제어 기법
15.7 기타 동시성 제어 쟁점
15.8 요약
• 가장 널리 사용되는 프로토콜이다 .
write_lock(X);
write_lock(Y);
그림 15.5 교착상태의 예 . (a) 교착상태에 있는 T1′ 과 T2′ 의 부분 스케
줄 . (b) (a) 에 있는 부분 스케줄에 대한 대기 그래프 .
5 판-Ch15 Fundamentals of Database Systems 10
15.1.3 교착상태와
15.1.3 교착상태와 기아현상의
기아현상의 처리
처리 (cont.)
(cont.)
교착상태 방지 프로토콜 (deadlock prevention protocol)
– 보수적 2 단계 로킹 방지 프로토콜에 의해 각 트랜잭션에게 필요한 로크를
미리 잡는 방법
– 데이타베이스에 있는 모든 항목들에 대해 미리 순서를 정해 두고 , 여러 항목
을 필요로 하는 트랜잭션은 미리 정의된 순서에 따라 로크를 획득하는 방법
– 타임스탬프 TS(T) 를 이용하는 방법
• wait-die 알고리즘 . TS(Ti) < TS(Tj) 이면 (Ti 가 Tj 보다 먼저 시작되었다면 ) Ti
는 대기한다 . 그렇지 않으면 (Ti 가 Tj 보다 나중에 시작되었다면 ) Ti 가 철회되고
나중에 동일한 타임스탬프를 사용하여 Ti 를 재시작시킨다 .
타임스탬프
– 트랜잭션을 식별하기 위해 DBMS 가 부여한다 .
– 일반적으로 , 타임스탬프 값은 트랜잭션들이 시스템에 들어온 순서대로
할당된다 . 따라서 , 타임스탬프를 트랜잭션의 시작 시간 (transaction
start time) 으로 간주할 수 있다 .
– 타임스탬프에 기반을 둔 동시성 제어기법은 로크를 사용하지 않으므로
교착상태를 발생시키지 않는다 .
– 충돌 직렬가능성을 보장하지 않음
이 절의 구성
15.5.1 로킹에서 단위크기의 고찰
15.5.2 다중 단위크기 (multiple granularity) 로킹
db
f1 f2
r111 … r11j r121 … r12j … r1n1 … r1nj r211 … r21k r221 … r22k … r2m1 …
r2mk
그림 15.7. 다중 단위크기 로킹을 예시하는 단위크기 계층도
(granularity hierarchy).
IS IX S SIX X
15.7.3 래취 (Latch)