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 |