본문 바로가기
자격증/패스트 캠퍼스 데이터베이스와 SQLD 합격패스 Online

패스트 캠퍼스 챌린지 28일차 데이터베이스와 SQLD 합격패스 Online

by 리드민 2021. 10. 3.
반응형

Ch 08. 백업 및 복구 - 01. 지속성과 성능이 양립하는 구조

[] 로그 선행 기입 기법

1. 로그 선행 기입(write-ahead logging, WAL)을 사용하는 시스템에서 모든 수정은 적용 이전에 로그에 기록된다. 일반적으로 redo 및 undo 정보는 둘 다 로그에 저장된다.
2. 한 예로 어느 프로그램이 특정 작업을 수행하는 동안 컴퓨터에 정전이 일어났다고 하자. 다시 시작할 때 프로그램은 어느 작업이 수행을 성공적으로 마쳤는지, 절반 성공했는지, 아니면 실패했는지를 잘 알고 있어야 한다. 로그 선행 기입이 사용된다면 프로그램은 이러한 로그를 검사하여 예기치 않은 정전 시 해야 할 일과 실제로 했던 일을 비교하게 된다.
- 데이터베이스의 데이터 파일을 로그 레코드 사용하여 동기화
- 디스크에 연속해서 쓰기 때문에 무작위로 쓰는 것보다 성능 좋음
- 디스크에 쓰는 용량과 횟수 감소
- 데이터베이스 버퍼 이용해 데이터 파일 변경을 효율적으로 수행

 

[] 데이터베이스 버퍼

1. 데이터 파일로의 입력을 데이터베이스 버퍼 경유로 일원화
2. 트랜잭션마다 버퍼 취할 경우 로그와 데이터 파일 간 일관성 저하
3. 효율적인 데이터 일관성 유지

 

[] Crash 복구에 필요한 항목

1. WAL

2. 데이터베이스 버퍼

3. 데이터베이스 파일

 

[] Crash 발생 시 복구 과정

1. WAL : 마지막으로 Commit된 트랜잭션의 갱신 정보 가짐

2. 데이터베이스 버퍼 : Crash 로 내용이 전부 소실

3. 데이터베이스 파일 : 최후 체크포인트까지의 갱신 정보 가짐

 

[] Crash 이후 DBMS 서버 재시작

1. 데이터베이스 파일을 Crash 전 최신 Commit 상태로 수정

2. 즉, 롤 포워드 단계가 완성된

- 논리적, 물리적 파괴에는 대응 불가

- 정상 동작하는 동안 주기적 백업 필요

 

패스트 캠퍼스 링크

https://bit.ly/37BpXiC

반응형