로그 기반 회복 기법: Difference between revisions
From IT Wiki
No edit summary |
(→구현) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:데이터베이스]] | '''''굵은 글씨'''''[[분류:데이터베이스]] | ||
; 상위 문서 [[데이터베이스 회복]] | |||
=== 지연 갱신 회복 기법 === | === 지연 갱신 회복 기법 === | ||
Line 28: | Line 27: | ||
* 트랜잭션 활성 상태에서 데이터 변경 결과를 로그와 데이터베이스에 반영 | * 트랜잭션 활성 상태에서 데이터 변경 결과를 로그와 데이터베이스에 반영 | ||
* 회복 시 트랜잭션 실행 이전의 상태로 복구 | * 회복 시 트랜잭션 실행 이전의 상태로 복구 | ||
* 로그 파일을 참조하여 미완료된 변경에 대해 Undo를 우선 실행한 후, 완료된 변경에 대해 | * 로그 파일을 참조하여 미완료된 변경에 대해 Undo를 우선 실행한 후, 완료된 변경에 대해 Redo 실행 | ||
[[파일:즉시 갱신 회복 기법.png]] | [[파일:즉시 갱신 회복 기법.png]] | ||
== 같이 보기 == | |||
* [[데이터베이스 로그]] | |||
* [[검사점 회복 기법]] | |||
* [[데이터베이스 회복]] | |||
* [[ARIES 회복 기법]] |
Latest revision as of 22:21, 12 December 2020
굵은 글씨
- 상위 문서 데이터베이스 회복
지연 갱신 회복 기법[edit | edit source]
- Deferred Update
- 트랜잭션이 부분 완료 상태에 이르기까지 발생한 모든 변경 내용을 로그 파일에만 저장하고, 데이터베이스에는 Commit이 발생할 때까지 저장을 지연하는 기법
특징[edit | edit source]
- 데이터베이스 회복 과정에서 UNDO는 필요 없음 : 트랜잭션 복구 시 로그 파일 내용만 폐기
- UNDO가 필요 없기 때문에 로그 레코드는 <트랜잭션 id, 데이터 아이템, 이후 값> 형식을 가짐
구현[edit | edit source]
- 트랜잭션 단위가 종료될 때까지 디스크에 기록하는 출력 연산을 지연시키고, 데이터베이스 변경 내역을 로그에 보관
- 트랜잭션 완료(Commit) 시 로그를 이용해 지연된 출력 연산(Redo) 수행
- 트랜잭션이 실패할 경우 Undo 없이 로그 단순 폐기
즉시 갱신 회복 기법[edit | edit source]
- Immediate Update
- 트랜잭션 수행 도중 데이터를 변경하면 변경 정보를 로그 파일에 저장하고, 트랜잭션이 부분 완료되기 전이라도 모든 변경 내용을 즉시 데이터베이스에 반영하는 기법
특징[edit | edit source]
- 트랜잭션 완료 이전에 수행한 갱신 연산은 미완료 갱신(Uncommitted Update)이라 함
- 회복 시 로그 파일을 참조하여 Redo와 Undo 연산을 모두 실행해야 하기 때문에, 로그 레코드는 <트랜잭션 id, 데이터 아이템, 이전 값, 이후 값>형식을 가짐
구현[edit | edit source]
- 트랜잭션 활성 상태에서 데이터 변경 결과를 로그와 데이터베이스에 반영
- 회복 시 트랜잭션 실행 이전의 상태로 복구
- 로그 파일을 참조하여 미완료된 변경에 대해 Undo를 우선 실행한 후, 완료된 변경에 대해 Redo 실행