본문 바로가기

IT기술노트/데이터베이스69

그림자페이징(Shadow Paging) 회복기법 I. 그림자페이징 테이블을 이용한 데이터 복구 기법, 그림자페이징 회복기법의 개요 가. 그림자페이징(Shadow Paging) 회복기법의 정의 - 트랜잭션 수행 중 현재 페이지 테이블과 그림자 페이지 테이블을 운용하며, 현재 페이지 테이블을 우선 갱신하고, 트랜잭션 종료 시 그림자 페이지 테이블 갱신 II. 그림자페이징 회복기법 구분 설명 개념도 정상동작 - 트랜잭션 수행 중 현재 페이지 테이블과 그림자 페이지 테이블을 운용하며, 현재 페이지 테이블을 우선 갱신하고, 트랜잭션 종료 시 그림자 페이지 테이블을 갱신 - 다중 사용자 환경에서는 추가적인 로깅 필요 회복동작 - 장애 발생 시 그림자페이징 테이블의 내용을 이용하여 회복 수행 장점 - 별도의 로그 처리 필요 없이 상대적으로 낮음 부하 단점 - 페이.. 2021. 3. 7.
체크포인트(Checkpoint) 회복기법 I. 검사점을 이용한 데이터 복구 기법, 체크포인트 회복기법의 개요 가. 체크포인트(Checkpoint) 회복기법의 정의 - 로그 파일에 체크포인트를 기록하고 장애 발생 시 검사점 이전에 처리된 트랜잭션은 회복 작업에서 제외하고 이후에 처리된 내용에 대해서만 회복 작업을 수행하는 회복기법 II. 체크포인트 회복기법 구분 설명 개념도 - 체크포인트 이전에 시작하여 체크포인트 이전에 완료된 트랜잭션은 회복 대상 아님 - 체크포인트 이전, 이후와 관계없이 시작하여 장애 발생 시간에 진행 중인 트랜잭션은 UNDO 대상 - 체크포인트 이전, 이후와 관계없이 시작하여 장애 발생 시간 이전에 완료된 트랜잭션은 REDO 대상 정상동작 - 트랜잭션 수행 중, 검사점 기반으로 로그 기록 수행 회복동작 - 트랜잭션 수행 도.. 2021. 3. 7.
로그기반 회복기법 I. 로그파일을 이용한 데이터 복구기법, 로그기반 회복기법의 개요 가. 로그기반 회복기법의 정의 - DB 변경 내역을 로그에 보관, 데이터 장애 발생 시 로그 기반 REDO/UNDO를 수행하여 데이터를 회복하는 기법 나. 로그기반 회복기법의 특징 - 운영부하 경감: 실시간 DB 반영에 대한 부하경감 - 회복 시 느린 속도: REDO, UNDO를 위하여 로그 전체 조사 II. 로그기반 회복기법의 유형 가. 즉시 갱신기법 구분 설명 개념도 정상동작 - 트랜잭션이 수행 중 갱신결과를 바로 로그 기록/ DB Commit 회복동작 - 트랜잭션 실패 시 로그기반 UNDO, 다중 User 환경에서는 2PL같은 보호 기술 필요 장점 - 직관적 기록 및 회복 기술, 저장공간 적게 차지 단점 - 로그 처리를 위한 부하 증.. 2021. 3. 7.
REDO, UNDO I. 데이터베이스의 내용 복원 기법 REDO의 개요 가. REDO의 정의 - 장애 발생 시 진행된 트랜잭션에 대해 로그 기록을 이용하여 재실행함으로써 데이터베이스 상태 복원 - Archive 사본 + Log: Commit 후의 상태 나. REDO의 특징 - 데이터에 대해 일어나는 모든 변화를 기록한 REDO Log 이용 - 버터와 디스크 사이의 REDO Log 파일 배치 다. REDO의 회복기법 II. 데이터베이스 일관성 유지 기법, UNDO의 개요 가. UNDO의 정의 - 장애 발생 시 데이터베이스에 대한 모든 변경사항, Commit되지 않은 트랜잭션에 대한 작업을 취소함으로써 데이터베이스 일관성 유지, 원래 데이터베이스 상태로 복원 나. UNDO의 특징 - 데이터베이스 갱신 내용을 UNDO 세그먼트에.. 2021. 3. 7.
데이터회복(Data Recovery) REDO, UNDO, 로그기반 회복기법, 체크포인트 회복기법, 그림자페이징 회복기법 I. 데이터 일관성 및 무결성을 위한 데이터회복의 개요 가. 데이터회복(Data Recovery)의 정의 - 데이터베이스 운영 도중 예기치 못한 장애가 발생한 경우, 데이터베이스를 장애 발생 이전의 일관된 상태로 복원시키는 기법 나. 데이터 회복의 주요요소 구분 요소 설명 회복의 기본원칙 데이터 - 데이터의 중복 Archive 또는 Dump - DB 전체 내용을 다른 저장장치로 자료의 복사 및 덤프 저장 - DB 내용 전체를 일정기간마다 다른 저장장치에 저장 Log 또는 Journal - 데이터베이스 내용이 변경될 때마다 변경 내용을 로그 파일에 저장 - 갱신된 속성의 과거 값/갱신 값을 별도의 파일에 유지 - 온라인 로.. 2021. 3. 7.
DB 교착상태(Deadlock) I. 교착상태의 개요 가. 교착상태(Deadlock)의 정의 - 다수의 트랜잭션이 특정 자원의 할당을 무한정 기다리고 있는 무한 대기 상태 나. 교착상태의 개념도 II. 교착상태의 발생조건 및 예방활동 가. 교착상태의 발생조건 조건 설명 상호배재 - 트랜잭션이 자원을 배타적으로 점유하여 다른 트랜잭션이 그 자원을 사용 못함 점유와대기 - 트랜잭션은 자원을 점유하고 있고, 다른 자원을 요구 비선점 - 트랜잭션에 할당된 자원은 점유한 트랜잭션에 의해 해제 될 때 까지 다른 트랜잭션에 의해 해제될 수 없음 순환대기 - 트랜잭션 간 자원 요청이 하나의 원형 체인으로 구성 나. 교착상태의 예방활동 구분 설명 단점 상호배재 부정 - 공유할 수 없는 자원을 사용 점유와대기 부정 - 트랜잭션이 자원을 요청할 때 다른 .. 2021. 3. 7.
낙관적 검증(Validation) 기법 I. 트랜잭션 종료 후 직렬성 검사, 낙관적 검증 기법의 개요 가. 낙관적 검증(Validation) 기법의 정의 - 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션의 종료 시 일괄적으로 검사하는 기법 II. 낙관적 검증 기법의 구성도 및 절차 가. 낙관적 검증 기법의 구성도 나. 낙관적 검증 기법의 절차 단계 설명 판독 단계 (Read Phase) - 트랜잭션의 모든 갱신은 사본에 대해서만 수행하고 실제 데이터베이스에 대해서는 수행하지 않음 확인 단계 (Validation Phase) - 판독 단계에서 사본에 반영된 트랜잭션의 실행 결과를 데이터베이스에 반영 전 직렬 가능성 위반여부를 확인 기록 단계 (Execution Phase) - 확인 단계를 통과하면 트랜잭션의 실행 결과를 데이터베이스에.. 2021. 3. 7.
타임스탬프 순서(Timestamp Ordering) 기법 I. 시스템 시계와 논리적 계수기를 이용한 순서 지정 방식, 타임스탬프 순서 기법의 개요 가. 타임스탬프 순서(Timestamp Ordering) 기법의 정의 - 트랜잭션을 식별하기 위해서 DBMS가 부여하는 유일한 식별자인 타임 스탬프를 지정하여 트랜잭션 간의 순서를 미리 선택 나. 타임스탬프 순서 기법의 특징 - 직렬성 보장, 교착상태 방지, 연쇄 복귀 초래 II. 타임 스탬프 생성방법/구현방법 구분 설명 시스템 시계 (system clock) 사용법 - 시스템 시계 값을 타임스탬프 값으로 부여함 - 트랜잭션이 시스템에 진입할 때의 시계 값과 동일함 논리적 계수기 (counter) 사용법 - 트랜잭션이 발생할 때마다 카운터를 하나씩 증가시켜 타임스탬프 값으로 부여함 2021. 3. 7.
2PL (2Phase Locking) I. 확장 및 수축 단계를 이용한 제어, 2PL의 개요 가. 2PL (2Phase Locking)의 정의 - 데이터베이스 무결성 보장을 위한 동시성 제어를 위하여, 모든 트랜잭션들이 Lock, Unlock연산을 확장 단계와 수축 단계로 구분하여 수행하는 기법 - 확장단계: 트랜잭션은 Lock만 수행할 수 있고 Unlock은 수행할 수 없는 단계 - 수축단계: 트랜잭션은 Unlock만 수행할 수 있고 Lock은 수행할 수 없는 단계 나. 2PL의 개념도 II. 2PL 기법 사례 III. 2PL 변형 기법 - 엄밀한 2PL: 모든 전용 Lock은 그 트랜잭션이 완료될 때까지 Unlock하지 않고 유지 - 엄격한 2PL: Unlock은 최종 트랜잭션 완료 시에만 발생 2021. 3. 7.
Locking I. 상호배제 기능을 사용하는 동시성 제어 기법, Locking의 개요 가. Locking 기법의 정의 - 트랜잭션이 사용하는 자원(데이터 항목)에 대하여 상호 배제 기능을 제공하는 기법 나. Locking 연산의 종류 종류 장점 공유 Lock (Shared Lock) - 공유 Lock 트랜잭션은 데이터 항목에 대해 읽기(read)만 가능 - 다른 트랜잭션도 읽기(read)만을 실행할 수 있는 형태 전용 Lock (Exclusive Lock) - 전용 Lock 트랜잭션은 데이터 항목에 대해 읽기(read), 기록(write) 모두 가능 - 다른 트랜잭션은 읽기(read)와 기록(write) 모두 할 수 없음 II. Locking 단위 및 사례 가. Locking 단위 나. Locking 규약을 준수 했음.. 2021. 3. 7.
반응형