데이터베이스

트랜잭션_로킹 기법의 로크(LOCK) 단위_오버헤드, 동시성

스윙스윙 2021. 9. 17. 23:32

▣ 트랜잭션_로킹 기법의 로크(LOCK) 단위_오버헤드, 동시성

- 로킹은 데이터베이스 병행 제어를 위해 트랜잭션(transaction)이 접근하고자 하는

  데이터를 잠가(lock) 다른 트랜잭션이 접근하지 못하도록 하는 병행 제어 기법

 로킹 단위가 크면 -> 로크의 수가 적어진다. -> 제어 기법이 간단해 진다. -> 병행성이 감소한다.

 로킹 단위가 작으면 -> 로크의 수가 많아진다. -> 제어 하기 까다롭다. -> 병행성이 증가한다.

 

로킹 단위
로크의 수 병행 제어 로킹 오버헤드 병행성 수준
데이터베이스 공유
(동시성 정도)
커짐 적어짐 단순 감소 감소 감소
작아짐 많아짐 복잡 증가 증가 증가


2018년 75번

정답 : 1번

Lock단위가 작아지면 로킹 오버헤드 증가하지만 데이터베이스 공유도(동시성)는 높아진다.(Trade Off 관계)

 


2012년 60번

정답 : 2번, 3번

로킹 단위가 작을수록 구현이 복잡해지고 강력한 동시성을 제공함

로킹 단위가 클수록 약한 동시성을 제공하여 충돌이 많이 발생하는 반면, 구현이 용이함