본문 바로가기
컴퓨터공학/데이터베이스(database)

[Recovery] Overview

by 바코94 2020. 6. 3.

subtopic

Failure and Recovery

Logs : Failure에 대비하여 update에 대한 정보 남기는 것

Buffer Management

Log-based Recovery

ARIES Algorithm

Remote Backup Systems

 

Failure type

Transaction failure: 내부적인 오류나 데드락이 발생할 경우

System failure(Crash): 컴퓨터가 꺼지거나 SW가 꺼지는 경우. 물리적인 페이지로 구성되는 시스템 버퍼에서 실제 DB를 업데이트 해주지 못한 상태로 손실이 되는 경우

Disk failure: disk 자체에 문제가 생기는 경우.

 

consistency를 유지하고 atomicity와 Durability을 보장하기 위해서 Recoveory는 필수적이다. 

 

recovery algorithm 

1. 회복을 위한 정보를 남기는 부분

2. failure가 발생했을 때 복수하는 부분

 

storage

volatile storage 

does not survive system crashes

ex) main memory, cache memory

 

nonvolatile stroage

survives system crashed

ex) disk, tape, flash 

 

stable storage

이상적인 스토리지. 백업이나 여러 장치들을 통해 안전성을 보장하는 방식(RAID)

여러 개의 스토리지 이용. 다양한 지역에 카피를 백업. 데이터를 전송할 때 failure가 발생하면 inconsistency 생길 수 있음. 이를 막는 방법은 다음과 같음.(참고)

첫번째 블락에 정보를 저장

저장이 완료되면 두번째 블락에도 저장

두번째 블락에도 저장되면 완료된 것으로 파악.

실제로는 RAID를 사용하여 보장한다. 

'컴퓨터공학 > 데이터베이스(database)' 카테고리의 다른 글

[Recovery] Log  (0) 2020.06.04
[Recovery]disk i/o  (0) 2020.06.03
[Transaction]Transaction Isolation in SQL  (0) 2020.06.01
[Concurrency Control]Insert and Delete opertaion  (0) 2020.06.01
[Concurrency Control]Deadlock  (0) 2020.06.01