intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery

Chia sẻ: Thiendiadaodien Thiendiadaodien | Ngày: | Loại File: PDF | Số trang:11

26
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương này trình bày những nội dung chính như: Transaction, how can constraints be violated? failures, transaction log, checkpoint, undo-logging rules, undo logging recovery rules, undo-logging & checkpoint,...và một số nội dung khác, mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery

Crash Recovery<br /> Vu Tuyet Trinh<br /> trinhvt@it-hut.edu.vn<br /> Department of Information Systems, Faculty of Information Technology<br /> Hanoi University of Technology<br /> <br /> Transaction<br /> collection of action that preserve consistency<br /> <br /> Consistent DB<br /> <br /> T<br /> <br /> Consistent DB’<br /> <br /> with assumption<br /> IF<br /> THEN<br /> <br /> T starts with consistent state +<br /> T executes in isolation<br /> T leaves consistent state<br /> <br /> 1<br /> <br /> How can constraints be violated?<br /> <br /> <br /> <br /> <br /> Transaction bug<br /> DBMS bug<br /> Hardware failure<br /> e.g., disk crash<br /> <br /> <br /> <br /> Data sharing<br /> e.g.,<br /> <br /> T1 and T2 in parallel<br /> <br /> Failures<br /> Events<br /> <br /> Desired<br /> Undesired<br /> <br /> Expected<br /> Unexpected<br /> processor<br /> <br /> CPU<br /> <br /> memory<br /> <br /> disk<br /> M<br /> <br /> D<br /> <br /> 2<br /> <br /> Recovery<br /> <br /> <br /> Maintaining the consistency of DB by ROLLBACK to the<br /> last consistency state.<br /> <br /> <br /> <br /> Ensuring 2 properties<br /> <br /> <br /> <br /> <br /> <br /> Atomic<br /> <br /> <br /> <br /> Durability<br /> <br /> Using LOG<br /> <br /> Transaction Log<br /> <br /> <br /> A sequence of log record keeping trace of<br /> actions executed by DBMS<br /> <br /> Log the beginning of the transaction execution<br /> <br /> <br /> transaction is already finished<br /> <br /> <br /> Transaction is calcel<br /> <br /> <br /> Transaction makes an update actio, before update X=v, after<br /> update x = w<br /> <br /> 3<br /> <br /> Transaction Log<br /> <br /> <br /> Handled in main memory and put to external<br /> memory (disk) when possible<br /> <br /> A = 8 16<br /> B = 8 16<br /> Actions<br /> <br /> Data<br /> Log<br /> <br /> Log<br /> Disk<br /> <br /> Memory<br /> <br /> Checkpoint<br /> <br /> <br /> Definition:<br /> <br /> <br /> <br /> <br /> <br /> Objective<br /> <br /> <br /> <br /> <br /> <br /> moment where intermediate results and a log record are saved<br /> to disk.<br /> being initiated at specified intervals<br /> minimize the amount of time and effort wasted when restart<br /> the process can be restarted from the latest checkpoint rather<br /> than from the beginning.<br /> <br /> Log record<br /> or <br /> <br /> 4<br /> <br /> Undo-logging<br /> Step<br /> <br /> Action<br /> <br /> t<br /> <br /> Mem A<br /> 8<br /> 8<br /> 16<br /> 16<br /> <br /> Mem B<br /> <br /> Disk A<br /> <br /> Disk B<br /> <br /> 8<br /> <br /> 8<br /> 8<br /> 8<br /> 8<br /> <br /> 8<br /> 8<br /> 8<br /> 8<br /> <br /> 1<br /> <br /> <br /> <br /> 5<br /> <br /> Read(B,t)<br /> <br /> 8<br /> 16<br /> 16<br /> 8<br /> <br /> 6<br /> <br /> t:=t*2<br /> <br /> 16<br /> <br /> 16<br /> <br /> 8<br /> <br /> 8<br /> <br /> 8<br /> <br /> 7<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 8<br /> <br /> 8<br /> <br /> 8<br /> <br /> Write(B,t)<br /> Flush log<br /> <br /> 9<br /> <br /> Output(A)<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 8<br /> <br /> 10<br /> <br /> Output(B)<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 16<br /> <br /> 2<br /> 3<br /> 4<br /> <br /> Read(A,t)<br /> t:=t*2<br /> Write(A,t)<br /> <br /> 11<br /> 12<br /> <br /> Mem Log<br /> <br /> <br /> <br /> <br /> <br /> <br /> Flush log<br /> <br /> Undo-Logging Rules<br /> (1) For every action generate undo log record (containing<br /> old value)<br /> (2) Before X is modified on disk, log records pertaining to X<br /> must be on disk (write ahead logging: WAL)<br /> (3) Before commit is flushed to log, all writes of transaction<br /> must be reflected on disk<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2