Notice
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DeFacto-Standard IT

Shared Lock / Exclusive Lock 본문

DB/Theory

Shared Lock / Exclusive Lock

defacto standard 2017. 11. 15. 23:40

Shared Lock(공유잠금) - read연산 가능, write연산 불가, 여러 개의 트랜잭션이 동시에 걸기 가능

읽기는 데이터에 영향을 주지 않아 동시에 접근해도 문제가 안되므로 2개 이상의 트랜잭션이 접근하는 것을 허용.

데이터에 영향을 주지 않지만 lock을 거는 이유는, 읽는 도중에 데이터가 바뀌면 안되므로 lock을 걸어 데이터의 변환을 일으키는 Exclusive Lock을 걸 수 없도록 하기 위함이다.

 

Exclusive Lock(배타잠금) - read, write 연산 둘 다 가능. 한 개의 트랜잭션만 걸 수 있음

쓰기는 데이터에 영향을 주기 때문에 동시에 접근한다면 기존에 수행했던 값은 다른 값으로 덮어씌워져 문제가 발생할 수 있다. 따라서 값을 쓰는 연산이 포함된다면 Exclusive Lock을 걸어서 단지 하나의 트랜잭션만이 리소스를 다룰 수 있도록 lock을 거는 것이다. 따라서 Exclusive Lock은 다른 트랜잭션의 Shared Lock이나 Exclusive Lock과 동시에 요청될 수 없다.

 

S-lock –> S-lock 가능

S-lock <-> X-lock 불가

X-lock -> X-lock 불가

 

'DB > Theory' 카테고리의 다른 글

각 정규형의 특징  (0) 2017.11.15
이상현상  (0) 2017.11.15
정규화  (0) 2017.11.15
지연갱신 / 즉시갱신  (0) 2017.11.15
Redo / Undo  (0) 2017.11.15
Comments