[TIL 2021.09.16] 데이터베이스 개론: 회복 기법

Kyu·2021년 9월 16일
0

TIL

목록 보기
249/322

Today I Learned
데이터베이스 회복 기법에 대해 배웠다.

트랜잭션의 특징(ACID)을 보장하고, 데이터베이스를 일관되고 모순되지 않게 유지하기 위해 데이터베이스는 회복 기능을 제공한다.

여기서 회복이란 데이터베이스가 장애가 발생했을 때 장애가 발생하기 전의 상태로 되돌리는 것을 말한다.

데이터베이스의 회복 기능은 회복 관리자(recovery manager)가 담당한다.

데이터베이스의 회복은 덤프 또는 로그 방법을 사용한다.

덤프란 데이터베이스 전체를 다른 저장소에 주기적으로 복사하는 방법을 말하고
로그는 데이터베이스에서 변경 연산이 있을 때마다 데이터가 변경되기 이전 값과 변경된 후의 값을 별도의 파일에 기록하는 방법이다.

덤프나 로그방법으로 데이터를 복구하는 가장 기본적인 방법은 redo나 undo의 연산을 사용하는 방법이다.

redo는 오류가 발생한 트랜잭션을 재실행하는 것이고, undo는 취소하는 것이다.

redo와 undo 연산을 실행할때 로그가 중요허개 사용된다.

로그 파일은 레코드 단위로 기록이 되고, 데이터베이스에 대한 변경 연산은 트랜잭션 단위로 실행되기 때문에 로그 레코드도 트랜잭션의 수행과 함께 기록된다.

평소에 내가 아무생각없이 사용하는 SQL문들은 기본적으로 앞에서 배웠듯이 하나하나의 auto commit 기본으로 설정되어있기 때문에 이 같은 경우에는 SQL문 하나 실행할때마다 로그 레코드가 기록되는 것이다.

로그는 데이터베이스 회복작업을 수행하기위해 필요한 정보이므로 데이터손실이 발생하지 않는 곳에 저장해야 한다.

  • 로그 회복 기법
    • 즉시 갱신 회복 기법
    • 지연 갱신 회복 기법
  • 검사 시점 회복 기법
  • 미디어 회복 기법
profile
TIL 남기는 공간입니다

0개의 댓글