본문 바로가기
주메뉴 바로가기
이동할 직렬을 선택해주세요.
지안에듀의 문제은행을 실전처럼 활용해보세요.
총 40문제가 검색되었습니다.
타임 스탬프를 이용한 동시성 제어 기법에 대한 설명으로 적절하지 않은 것은?
타임스탬프는 시스템이 트랜잭션에 부여하기 위해 생성한 고유한 값이다.
트랜잭션들의 타임스탬프로 직렬가능성을 결정한다.
로킹(locking)이 필요 없으므로 교착상태(deadlock)가 발생하지 않는다.
연쇄복귀(cascading rollback)를 방지한다.
①②③ 올바른 설명이다.④ 타임스탬프를 이용한 동시성 제어 시, 불필요한 복귀와 재시작이 자주 발생한다.
2단계 로킹(two-phase locking)에 대한 설명으로 적절하지 않은 것은?
확장단계에서 트랜잭션은 lock만 수행할 수 있고 unlock은 수행할 수 없다.
축소단계에서 트랜잭션은 unlock만 수행할 수 있고 lock은 수행할 수 없다.
직렬 가능한 스케줄을 생성함으로써 교착상태를 피할 수 있다.
2단계 로킹 규약은 직렬 가능성을 보장하는 충분조건이지 필요조건은 아니다.
①② 올바른 설명이다.③ 2단계 로킹을 통해 직렬 가능한 스케줄을 생성하고 직렬 가능성을 보장할 수 있지만, 교착상태를 방지할 수는 없다.④ 2단계 로킹을 적용하면 직렬 가능성이 보장되므로, 2단계 로킹은 직렬 가능성의 충분조건이다. 2단계 로킹을 적용하지 않고도 직렬 가능성을 보장하는 방법이 존재하므로, 2단계 로킹은 직렬 가능성의 필요조건은 아니다.
조인 알고리즘에 대한 설명으로 가장 적절하지 않은 것은?
블록 중첩루프 조인(block nested-loop join)은 조인 대상 릴레이션을 모두 메모리에 올릴 수 없는 경우에 조인 대상 릴레이션에 대해서 블록 단위로 릴레이션을 처리하여 블록의 접근비용을 줄인다.
인덱스를 사용한 중첩루프 조인(indexed nested-loop join)은 외부 반복문의 조인 속성에 인덱스가 구축되어 있을 경우 효과적이다.
합병조인(merge join)은 조인 속성에 같은 값을 갖는 모든 투플들의 그룹이 주메모리 내에 한번에 올라갈 수 있을 때 매우 효율적이다.
해시조인(hash join)은 조인 대상 릴레이션의 조인 속성에 대해 해시함수를 이용하여 동일한 해시 값을 가지는 집합으로 분할한다.
①③④ 올바른 설명이다.② 중첩루프조인 시 외부(선행) 테이블은 인덱스 존재 여부와 관계없이 Full Scan한다. 내부(후행) 테이블에서 조건에 맞는 레코드들을 검색하므로, 내부(후행) 테이블에 인덱스가 구축되어있다면 효과적이다.
로그 레코드를 주메모리 내 로그 버퍼에 임시로 저장 하였다가, 하나의 출력 연산으로 로그 버퍼 내에 있는 모든 로그 레코드를 저장장치에 출력하고자 한다. 장애 발생 시 트랜잭션의 원자성을 보장하기 위한 작업으로 가장 적절하지 않은 것은?
트랜잭션 T의 로그 레코드 이 로그 버퍼에 저장되면 트랜잭션 T는 커밋(commit) 상태가 된다.
트랜잭션 T와 관련된 모든 로그 레코드가 보다 먼저 안전한 저장장치에 출력되어야 한다.
변경된 데이터 블록 D의 데이터 항목과 관련된 모든 로그 레코드가 블록 D보다 먼저 안전한 저장장치에 출력되어야 한다.
로그 레코드를 출력해야 할 필요가 있는 경우 로그 레코드가 한 블록을 채우기에 부족하면, 메모리 내의 모든 로그 레코드를 한꺼번에 모아 안전한 저장장치에 출력한다.
① 로그 레코드 <T, commit>이 안전한 저장장치에 출력 및 저장되어야 트랜잭션 T가 커밋(commit) 상태가 된다.②③④ 올바른 설명이다.
그림자 페이징(shadow paging) 회복기법에 대한 설명으로 적절하지 않은 것을 모두 고른 것은?
가, 나, 다
나, 마
가, 다, 라
라, 마
가 : 트랜잭션이 완료된 후에 그림자 페이지의 내용을 갱신하므로, 트랜잭션이 완료되기 전에는 그림자 페이지를 변경할 필요가 없다.나 : 그림자 페이지 테이블에 트랜잭션 수행 이전 데이터들의 주소가 저장되어있으므로, 트랜잭션의 취소(rollback)가 매우 간단하다.다 : 데이터를 갱신할 때마다 새로운 위치에 사본을 만들어 갱신하는 방식이므로, 페이지의 물리적 위치가 자주 변경되어 지역성이 감소한다.라 : 페이지 테이블의 크기가 클수록 그림자 페이지 테이블 관리를 위한 오버헤드가 크다.마 : 병행 수행되는 트랜잭션의 숫자가 많을수록 성능이 떨어진다.
SQL 표준에서 정의하고 있는 4가지 트랜잭션 격리 수준 (isolation level)에 대한 설명으로 적절하지 않은 것은?
트랜잭션의 동시 실행성 측면에서 가장 낮은 성능을 보이는 격리수준은 SERIALIZABLE 이다.
오손읽기(dirty read)가 발생할 수 있는 격리 수준은 READ UNCOMMITTED 뿐이다.
반복 가능한 읽기를 지원하는 격리 수준은 REPEATABLE READ와 SERIALIZABLE 2가지 뿐이다.
유령읽기(phantom read)가 발생할 수 있는 격리 수준은 READ UNCOMMITTED와 READ COMMITTED 뿐이다.
동시간대 함께 구매가 빈번한 상품을 묶음으로 판매하거나 인접한 진열대에 두어 매출을 올리는 데이터 마이닝 분석 기법으로 가장 적절한 것은?
분류분석
연관분석
군집분석
회귀분석
트랜잭션의 특성에 대한 설명으로 적절하지 않은 것은?
트랜잭션이 수행되는 도중에는 데이터베이스가 일관된 상태를 갖지 않을 수 있으나 트랜잭션이 완료되면 일관된 상태로 변환된다.
각 트랜잭션은 시스템 내에서 동시에 수행되고 있는 다른 트랜잭션에 영향을 줄 수 없으나 참조할 수는 있다.
트랜잭션들이 동시에 수행되더라도 그 결과는 어떤 순서에 따라 트랜잭션들을 하나씩 순서대로 수행한 결과와 같아야 한다.
성공적으로 트랜잭션이 완료되면 이 트랜잭션이 갱신한 것은 그 후에 시스템이 고장 난 경우에도 손실되지 않아야 한다.
① 트랜잭션의 일관성(Consistency)에 대한 설명이다.② 트랜잭션의 격리성(Isolation)에 대한 잘못된 설명이다. 트랜잭션은 동시에 수행되고 있는 다른 트랜잭션에 영향을 주거나 참조할 수 없다.③ 트랜잭션의 원자성(Atomicity)에 대한 설명이다.④ 트랜잭션의 영속성(Durability)에 대한 설명이다.
트랜잭션 T1, T2, T3에 대한 스케줄 S1, S2 중에서 직렬 가능한(serializable) 스케줄을 모두 고른 것은? (단, r은 read 연산을, w는 write 연산을 의미한다.)
없음
S1
S2
S1, S2