토픽 이름 | Locking |
분류 | DB > 동시성제어 > Locking |
키워드(암기) | Shared lock, Exclusive lock, 직렬성(Serializability), 교착상태(Deadlock), 데이터 무결성 |
암기법(해당경우) |
|
기출문제
번호 | 문제 | 회차 |
1 | DB에서 동시성제어(concurrency control)방법중 Locking을 이용하는 방법에 대하여 설명 | 65.응용.4 |
I. 상호 배제(Lock, Unlock) 기능을 사용하는 동시성 제어 기법, Locking 기법 개요
나. Locking 기법의 정의
- 트랜잭션이 사용하는 자원(데이터 항목)에 대하여 상호 배제(Mutual Exclusive) 기능을 제공하는 기법
- 상호 배제는 특정 트랜잭션이 데이터 항목에 대하여 잠금 (Lock) 을 설정하면, 잠금을 설정한 트랜잭션이 해제 (Unlock) 할 때까지 데이터를 독점적으로 사용할 수 있는 기법
다. Locking 연산의 종류
주요개념 | |
공유Lock (Shared Lock) | - 데이터 항목에 대하여 읽기(read)만 가능 - 다른 트랜잭션도 읽기(Read) 만을 실행 할 수 있는 형태 |
전용Lock (Exclusive Lock) | - 데이터 항목에 대해서 읽기(read)와 기록(write)가 모두 가능 - 다른 트랜잭션은 읽기(read)와 기록(write) 모두 할 수 없음 |
II. Locking 단위 및 기법
나. Locking 단위
- Locking단위가 클수록 병행성 수준 떨어지고, 병행제어기법 간단해짐
- Locking단위가 작을수록 병행성 수준 높아지고, 관리 복잡해짐
다. Locking 기법(규약 준수하였으나 모순발생 사례)
- Lock과 Unlock을 통한 트랜잭션 상호간섭 제어
- Locking 규약을 준수 했음에도 모순성이 발생한 예
- T1, T2의 순서대로, 직렬성 있게 수행을 하면, A = 400, B는 600이 되는 것이 정상 값이나,
위 순서대로 진행을 하면, A=400, B=500되는 모순이 발생하게 됨
- 직렬성을 보장하기 위하여 트랜잭션이 Lock과 unLock 연산을 하는 시점에 대한 규약이 필요 -> 2PL 개념 도입
'기타정보' 카테고리의 다른 글
성능 향상을 위한 데이터 중복 허용, 반정규화의 개요 (0) | 2020.01.22 |
---|---|
데이터 리터러시 (0) | 2020.01.22 |
분류모델 생성 알고리즘 Bagging과 Boosting (0) | 2020.01.22 |
분류모델 생성 알고리즘 Bagging과 Boosting (0) | 2020.01.22 |
빅데이터 분석기법, Random Forest의 개요 (0) | 2020.01.21 |