본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter6 고급 데이터베이스 공부

by Mr.ticket 2023. 12. 18.
728x90

1. 메모

 

덤프(Dump) : 비정상적인 종료가 발생하는 경우 커널에서 해당 프로세스와 관련된 메로리 상태를 기록한 파일

 

아카이브(Archive) : 각 종 자원을 보존하기 위한 일련의 활동으로 백업이나 데이터 이동을 위해 파일들을 모아놓은 모음

 

2. Point

 

트랜잭션의 성질(ACID)

 - 원자성(Atomicity) : 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.

 - 일관성(Consistence) : 데이터베이스 상태는 트랜잭션 수행 전과 트랜잭션 수행 후기 같아야 한다.

 - 격리성(Isolation) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에는 다른 트랜잭션의 연산이 끼어들 수 없다.

 - 영속성(Durability) : 트랜잭션의 실행을 성공적으로 끝내면 그 결과를 어떠한 경우에라도 보장받는다.

 

분산 데이터베이스 시스템의 목표

 - 위치 투명성(Location Transparency) : 사용하려는 데이터가 저장된 사이트를 사용자는 알 필요가 없다.

 - 중복 투명성(Replication Transparency) : 한 논리적 데이터 객체가 여러 상이한 사이트에 중복될 수 있다.

 - 장애 투명성 : 데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다.

 - 병행 투명성 : 분산 데이터베이스에 관련된 다수의 트랜잭션이 동시에 수행되어도 트랜잭션의 결과는 영향을 받지 않는다.

 

트리거(Trigger) : 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

인덱스(Index)의 종류

 - 기본 인덱스(Primary Index) : 탐색 키가 데이터 파일의 기본 키인 인덱스

 - 클러스터링 인덱스(Clustering Index) : 탐색 키 값에 따라 정렬된 데이터 파일에 대해 정의

 - 보조 인덱스(Secondary Index) : 탐색 키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의

 - 희소 인덱스(Sparse Index) : 일부 키 값에 대해서만 인덱스에 엔트리를 유지하는 인덱스

 - 밀집 인덱스(Dense Index) : 각 레코드의 키 값에 대해서 인덱스에 엔트리를 유지하는 인덱스

 

3. 오답 노트

 

지연 갱신을 기반으로 한 회복 기법을 사용하는 DBMS에서 다음과 같은 로그 레코드가 생성되었다. 시스템 실패가 발생하여 DBMS가 재시작할 때, 데이터베이스에 수행되는 연산으로 옳지 않은 것은 ?(단, <Tn, A, old, new>는 트랜잭션 Tn이 데이터 A의 이전 값(old)을 이후 값(new)으로 갱신했다는 의미이다.)

 

<T1, Start>

<T1, A, 900, 1000>

<T1, Commit>

<T4, Start>

<T3, Start>

<T2, Start>

<Checkpoint>

<T2, B, 2100, 2200>

<T2, Commit>

<T3, C, 1700, 1800>

<T3, Abort>

<T4, A, 600, 700>

시스템 실패

 

1. T1 : no operation

2. T2 : redo

3. T3 : no operation

4. T4 : undo

지연 갱신에서는 로그에 old value가 표현되지 않고, undo를 하지 않는다.

 

COMMIT 이전에는 물리적으로 버퍼를 데이터베이스에 결코 쓰지 않는 회복 기법을 사용하는 경우, 시스템 고장 시의 회복에 대한 설명으로 옳은 것은 ?

1. UNDO 필요, 로그 기록 필요

2. UNDO 필요, 로그 기록 불필요

3. REDO 필요, 로그 기록 필요

4. REDO 필요, 로그 기록 불필요

COMMIT 이전에는 물리적으로 버퍼를 데이터베이스에 결코 쓰지 않는 회복 기법이 지연 갱신 기법이며, 지연 갱신 기법은 회복 시 UNDO가 불필요하다.

 

로킹(Locking)에 대한 설명으로 옳지 않은 것은 ?

1. 로킹 단위가 크면 병행성 수준이 낮아진다.

2. 2단계 로킹 규약은 2개 이상의 트랜잭션이 동시에 수행될 때 직렬성을 보장한다.

3. 2단계 로킹 규약에서는 일단 언로크 연산을 실행하면 그 시점 이후에는 더 이상 새로운 로크 연산을 실행할 수 없다.

4. 2단계 로킹 규약은 트랜잭션들이 동시에 수행될 때 교착상태가 발생하지 않도록 보장한다.

2단계 로킹 규약은 직렬 가능성을 보장하지만, 교착상태가 발생하지 않도록 보장할 수 없다.

 

동시성 제어(Concurrency Control) 방법에서 로킹 단위가 커지는 경우에 대한 설명으로 옳은 것은 ?

1. 로킹 오버헤드 감소, 동시성 정도 증가

2. 로킹 오버헤드 감소, 동시성 정도 감소

3. 로킹 오버헤드 증가, 동시성 정도 증가 

4. 로킹 오버헤드 증가, 동시성 정도 감소

동시성 제어 방법에서 로킹 단위가 커지는 경우는 로킹 오버헤드와 동시성 정도가 감소한다.

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글