본문 바로가기
데이터베이스/기본개념

데이터베이스 Failure와 Recovery

by 책 읽는 개발자_테드 2019. 4. 3.
반응형

데이터베이스에서 발생하는 Failure의 종류

1.Transaction Failure

 트랜잭션 자체가 Failure 되는 상황이다.

 1)트랜잭션이 발생중인 프로그램의 오류에 의해서 장애가 발생하는 경우.

2)DBMS나 운영체제에서 필요에 따라 특정 트랜잭션을 abort 하는 경우.

Ex)deadlock 발생시 프로세스 중 victim을 선정하여, 해당 프로세스를 abort 한다.

 

2.System Failure (crash)

메인 메모리에 있는 데이터가 없어지는 상황이다.

Ex) 컴퓨터 전원이 꺼짐. 운영체제에 장애가 발생. 메모리 칩의 고장 발생

 

3.Disk failure

 하드 디스크에 있는 데이터에 장애가 발생한 상황이다.

 Ex)하드디스크 헤드 불량 등으로 발생

 

데이터베이스의 Recovery는 위의 Failure들을 대처하기 위해 만들어졌다. Failure는 장애 발생 전 경고 없이 언제든지 발생할 수 있다고 가정한다.

 

 

Recovery Algorithms

Recovery 알고리즘은 failure에도 데이터베이스의 일관성과 트랜잭션의 원자성, 내구성을 지키는 기술이다. Recovery 알고리즘은 2가지 부분으로 나뉜다.

 

1)일반적인 트랜잭션 상황에서 recovery를 위해 하는 행위.

2)failure 이후에 데이터베이스 내용을 회복하기 위한 행위.

          

Storage Structure

1)Volatile(휘발성) storage

시스템의 전원이 꺼졌을(crash) 때 없어지는 스토리지.

Ex)메인 메모리, 캐시 메모리

 

2)Nonvolatile storage

시스템의 전원이 꺼졌을 때 없어지지 않는 스토리지

Ex)하드디스크, 플래시 메모리

 

3)stable storage

어떤 failure가 발생해도 내부 데이터가 사라지지 않는 스토리지. 이론적으로만 존재한다.

별도의 nonvolatile storage를 여러 개 가짐으로써 유사하게 만들 수 있다.

반응형

댓글