67. 동시성 제어(concurrency control)의 로킹(locking) 단위에 대한 다음 설명 중 옳은 것을 모두 나열한 것은?
가. 로킹 단위가 작아지면 동시성(병행) 수준은 낮아진다.
나. 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다. 다. 로킹 단위가 작아지면 일반적으로 로킹 오버 헤드가 증가한다. 라. 한꺼번에 로킹할 수 있는 데이터의 크기를 로킹 단위라 한다. |
① 가, 다 ② 가, 나, 라
③ 나, 다, 라 ④ 가, 나, 다, 라
▣ 로킹(Locking) 단위
- DB, 파일, 레코드 등
- 커지면 : 로킹 오버헤드 감소, 데이터베이스 공유도 저하
- 작아지면 : 로킹 오버헤드 증가, 데이터베이스 공유도 증가
<문제풀이>
가. 로킹 단위가 작아지면 동시성(병행) 수준은 낮아진다. (X)
→ 동시성 수준은 높아짐
나. 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.(O)
다. 로킹 단위가 작아지면 일반적으로 로킹 오버해드가 증가한다.(O)
라. 한꺼번에 로킹할 수 있는 데이터의 크기를 로킹 단위라 한다.(O)
정답 : ③
68. 로킹 규약 중에서 strict 2단계 로킹 규약(strict 2PLP)에 해당하는 설명으로 가장 적절한 것은?
① 데이터 항목에 대해 read나 write 연산을 하려면 반드시 lock을 걸고 트랜잭션 실행을 종료하기 전에 unlock을 수행
② 로크를 걸기만 하는 확장 단계와 로크를 풀기만하는 축소 단계로 구성
③ 로킹이 2단계일 뿐 아니라 모든 독점 로크는 그 트랜잭션이 완료될 때까지 unlock하지 않고 그대로 유지
④ 로킹이 2단계일 뿐 아니라 모든 로크는 그 트랜잭션이 완료될 때까지 unlock하지 않고 그대로 유지
▣ 2PL 유형
- Strict (엄격) 2PL
- 2PL Protocol 의 속성애 Write lock 은 트랜잭션이 완료할 때까지 유지하도록 함
- 완료하지 않은 트랜잭션이 쓴 데이터는 트랜잭션이 완료할 때까지 write lock 되도록 다른 트랜잭션들이 그 데이터를 읽지 못하도록 함
- 연쇄 복귀를 피할 수 있음. Deadlock 의 위험이 있음
- Rigorous(엄중)2PL
- 모든(Read+White) lock 을 트랜잭션이 완료할 때까지 유지하도록 함
- 트랜잭션들이 완료하는 순서로 직렬화할 수 있음
- 연쇄 복귀를 피할 수 있음, Deadlock 의 위험이 있음
- Static/Conservative(정적/보수적) 2PL
- read-set 과 write-set을 미리 선언하여 트랜잭션이 실행하기 전에 모든 항목에 대한 lock이 필요함
- 연쇄복귀, 교착상태가 발생하지 않는 프로토콜이다.
- read-set과 white-set을 미리 선언해야 하기 때문에 실제로는 사용되지 않음
<문제풀이>
① 데이터 항목에 대해 read나 write 연산을 하려면 반드시 lock을 걸고 트랜잭션 실행을 종료하기 전에 unlock을 수행 → write lock 만 유지
② 로크를 걸기만 하는 확장 단계와 로크를 풀기만하는 축소 단계로 구성 → 모든 2PL 수행 절차
③ 로킹이 2단계일 뿐 아니라 모든 독점 로크는 그 트랜잭션이 완료될 때까지 unlock하지 않고 그대로 유지
④ 로킹이 2단계일 뿐 아니라 모든 로크는 그 트랜잭션이 완료될 때까지 unlock하지 않고 그대로 유지 → Rigorous 2PL 설명
정답 : ③
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보시스템 감리 기출문제해설 > 데이터베이스 해설' 카테고리의 다른 글
(제 24회) 데이터베이스 / (71)~(72) 해설 (0) | 2024.08.07 |
---|---|
(제 24회) 데이터베이스 / (69)~(70) 해설 (1) | 2024.08.06 |
(제 24회) 데이터베이스 / (65)~(66) 해설 (1) | 2024.08.04 |
(제 24회) 데이터베이스 / (63)~(64) 해설 (1) | 2024.08.03 |
(제 24회) 데이터베이스 / (61)~(62) 해설 (34) | 2024.08.02 |