정보시스템 감리 기출해설/데이터베이스 해설

(제 24회) 데이터베이스 / (67)~(68) 해설

아이티신비 2024. 8. 5. 09:00

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 설명

 

정답 : ③

 

 




 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥