2024 국가직9급 컴퓨터일반 19번 해설 — 병행 제어

정답 ①번출제 쟁점 병행 제어발문 옳은 것 고르기

문제

DBMS에서의 병행 수행 및 병행 제어에 대한 설명으로 옳은 것은?

  1. 2단계 로킹 규약을 적용하면 트랜잭션 스케줄의 직렬 가능성을 보장할 수 있으나 교착상태가 발생할 수도 있다 ← 정답
  2. 트랜잭션이 데이터에 공용 lock 연산을 수행하면 해당 데이터에 read, write 연산을 모두 수행할 수 있다
  3. 연쇄 복귀는 하나의 트랜잭션이 여러 개의 데이터 변경 연산을 수행할 때 일관성 없는 상태의 데이터베이스에서 데이터를 가져와 연산을 수행함으로써 모순된 결과가 발생하는 것이다
  4. 갱신 분실은 트랜잭션이 완료되기 전에 장애가 발생하여 rollback 연산을 수행하면, 이 트랜잭션이 장애 발생 전에 변경한 데이터를 가져가 변경 연산을 수행한 또 다른 트랜잭션에도 rollback 연산을 수행하여야 한다는 것이다

선지별 해설

2단계 로킹 규약을 적용하면 트랜잭션 스케줄의 직렬 가능성을 보장할 수 있으나 교착상태가 발생할 수도 있다

이 선지 진술은 옳음(O)

2PL은 모든 lock을 획득하는 단계와 해제하는 단계를 구분해 직렬 가능성을 보장한다. 다만 lock 대기 관계 때문에 교착상태 가능성은 남는다.

트랜잭션이 데이터에 공용 lock 연산을 수행하면 해당 데이터에 read, write 연산을 모두 수행할 수 있다

이 선지 진술은 틀림(X)

공용 lock은 읽기 공유를 위한 잠금이므로 read는 가능하지만 write는 배타 lock이 필요하다. 읽기와 쓰기를 모두 허용하지 않는다.

연쇄 복귀는 하나의 트랜잭션이 여러 개의 데이터 변경 연산을 수행할 때 일관성 없는 상태의 데이터베이스에서 데이터를 가져와 연산을 수행함으로써 모순된 결과가 발생하는 것이다

이 선지 진술은 틀림(X)

연쇄 복귀는 한 트랜잭션이 rollback될 때 그 미완료 결과를 읽은 다른 트랜잭션들도 함께 rollback되어야 하는 현상이다. 보기의 설명은 연쇄 복귀의 정의가 아니다.

갱신 분실은 트랜잭션이 완료되기 전에 장애가 발생하여 rollback 연산을 수행하면, 이 트랜잭션이 장애 발생 전에 변경한 데이터를 가져가 변경 연산을 수행한 또 다른 트랜잭션에도 rollback 연산을 수행하여야 한다는 것이다

이 선지 진술은 틀림(X)

그 설명은 연쇄 복귀에 가깝다. 갱신 분실은 두 트랜잭션의 갱신이 겹치면서 한쪽 갱신 결과가 다른 갱신에 의해 사라지는 현상이다.

핵심 요약 (Q&A)

Q. 2024 국가직9급 컴퓨터일반 19번의 핵심 쟁점은 무엇인가?
A. 2024 국가직9급 컴퓨터일반 19번은 병행 제어에 관한 문항으로, "옳은 것"을 고르는 문제입니다.
Q. 2024 국가직9급 컴퓨터일반 19번의 정답은?
A. 정답은 ①번입니다. 2PL은 모든 lock을 획득하는 단계와 해제하는 단계를 구분해 직렬 가능성을 보장한다. 다만 lock 대기 관계 때문에 교착상태 가능성은 남는다.
🧩 DB/SQL 개념·기출 모아보기📄 2024 국가직9급 컴퓨터일반 전체 문항✏️ 이 시험 미니문제 풀기
출처: 2024 국가직9급 컴퓨터일반 기출 (원문 보존)해설 기준: 출제 당시 법령·판례 · 개정 사항은 ⚠️ 표시