자격증/정보처리기사

188~189. 회복/병행제어(A), 교착상태(B)

환성 2023. 2. 8. 16:10
728x90

회복

  • 데이터베이스가 손상되었을 떄 손상되기 이전의 정상 상태로 복구하는 작업
  • 장애 유형 : 트랜잭션 장애, 시스템 장애, 미디어 장애
  • 회복관리기 : DBMS의 구성 요소, 모든 변화를 취소(Undo), 트랜잭션 수행 이전의 원래 상태로 복구하는 역할, 메모리 덤프, 로그를 이용해 회복을 수행

 

회복 기법

  • 연기 갱신 기법 : 트랜잭션이 성공적으로 완료될 떄까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법, Redo 작업만 가능
  • 즉각 갱신 기법 : 트랜잭션이 데이터 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법, Redo, Undo 모두 가능
  • 그림자 페이지 대체 기법 : 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지로 별도 보관해 놓고, 실제 페이지 부분에 그림자 페이지를 대체하여 회복, Redo, Undo, 로그 필요없음
  • 검사점 기법

 

병행제어

  • 다중 프로그램의 이점을 이용하여 동시에 여러 개의 트랜잭션을 병행수행할 떄, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
  • 데이터베이스 공유 최대화, 시스템 활용도 최대화, 일관성 유지, 사용자에 대한 응답 시간 최소화

 

병행제어 기법

  • 로킹 : 주요 데이터의 액세스를 상호 배타적으로 하는 것
  • 타임 스탬프 순서 : 직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법, 교착상태 발생 X
  • 최적 병행수행 : 트랜잭션은 시스템의 상태를 일관성 있게 유지한다는 점을 이용한 기법
  • 다중 버전 기법 : 타임 스탬프의 개념을 이용한 기법

 

병행제어 문제점

  • 갱신 분실 : 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 떄 갱신 일부가 없어지는 현상
  • 비완료 의존성 : 하나의 트랜잭션 수행이 실패한 후 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상
  • 모순성 : 원치 않는 자료를 이용함으로써 발생하는 문제, 불일치 분석
  • 연쇄 복귀 : 병행수행된 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback하는 경우 다른 트랜잭션도 Rollback 

 

교착상태

  • 상호 배제에 의해 나타나는 문제점, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 무한히 기다리는 현상
  • 상호 배제(Mutual Exclusion) : 한 번에 한 개의 프로세스만 공유 자원
  • 점유와 대기(Hold and Wait) : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 하는것
  • 비선형(Non-preemption) : 다른 프로세스에 할당한 자원은 사용이 끝날 때까지 강제로 뺏기 X
  • 환형 대기(Circular Wait) : 공유자원과 대기 프로세스가 원형으로 구성되어 있는 것

 

교착상태 해결방법

  • 예방 기법(Prevention) : 자원 낭비가 가장 심한 기법
  • 회피 기법(Avoidance) : 은행원의 알고리즘
  • 발견 기법(Detection) : 교착상태 발견 알고리즘, 자원 할당 그래프
  • 회복 기법(Recovery) 

'자격증 > 정보처리기사' 카테고리의 다른 글

193. 입력 데이터 검증 및 표현(A)  (0) 2023.02.08
191. Secure SDLC(A)  (0) 2023.02.08
187. DB 관련 신기술(A)  (0) 2023.02.07
180. 경로 제어 / 트래픽 제어(A)  (0) 2023.02.07
178. 네트워크 구축(A)  (0) 2023.02.07