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

pdf
Số trang Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery 11 Cỡ tệp Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery 312 KB Lượt tải Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery 0 Lượt đọc Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery 16
Đánh giá Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Chương 6: Crash Recovery
4.6 ( 8 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 11 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Crash Recovery Vu Tuyet Trinh trinhvt@it-hut.edu.vn Department of Information Systems, Faculty of Information Technology Hanoi University of Technology Transaction collection of action that preserve consistency Consistent DB T Consistent DB’ with assumption IF THEN T starts with consistent state + T executes in isolation T leaves consistent state 1 How can constraints be violated?    Transaction bug DBMS bug Hardware failure e.g., disk crash  Data sharing e.g., T1 and T2 in parallel Failures Events Desired Undesired Expected Unexpected processor CPU memory disk M D 2 Recovery  Maintaining the consistency of DB by ROLLBACK to the last consistency state.  Ensuring 2 properties   Atomic  Durability Using LOG Transaction Log  A sequence of log record keeping trace of actions executed by DBMS Log the beginning of the transaction execution transaction is already finished Transaction is calcel Transaction makes an update actio, before update X=v, after update x = w 3 Transaction Log  Handled in main memory and put to external memory (disk) when possible A = 8 16 B = 8 16 Actions Data Log Log Disk Memory Checkpoint  Definition:    Objective    moment where intermediate results and a log record are saved to disk. being initiated at specified intervals minimize the amount of time and effort wasted when restart the process can be restarted from the latest checkpoint rather than from the beginning. Log record or 4 Undo-logging Step Action t Mem A 8 8 16 16 Mem B Disk A Disk B 8 8 8 8 8 8 8 8 8 1 5 Read(B,t) 8 16 16 8 6 t:=t*2 16 16 8 8 8 7 16 16 16 8 8 8 Write(B,t) Flush log 9 Output(A) 16 16 16 16 8 10 Output(B) 16 16 16 16 16 2 3 4 Read(A,t) t:=t*2 Write(A,t) 11 12 Mem Log Flush log Undo-Logging Rules (1) For every action generate undo log record (containing old value) (2) Before X is modified on disk, log records pertaining to X must be on disk (write ahead logging: WAL) (3) Before commit is flushed to log, all writes of transaction must be reflected on disk 5 Undo Logging Recovery Rules  Let S is set of unfinished transactions    For each in log   in log or is not in log If Ti  S then - Write(X, v) - Output(X) For each Ti  S  Write to log Undo-Logging & Checkpoint scan scan 6 Redo-logging Step 1 2 3 4 5 6 7 8 9 10 11 Action t Mem A Mem B Disk A Disk B 8 8 8 8 Mem Log Read(A,t) t:=t*2 Write(A,t) Read(B,t) t:=t*2 Write(B,t) Flush log Output(A) Output(B) 8 16 16 8 8 8 16 16 8 8 8 8 8 16 16 16 16 8 16 8 8 8 8 16 16 16 16 16 16 16 16 8 16 Redo-logging Rules (1) For every action, generate redo log record (containing new value) (2) Before X is modified on disk (DB),all log records for transaction that modified X (including commit) must be on disk (3) Flush log at commit (4) Write END record after DB updates flushed to disk 7 Redo-logging Recovery Rules  Let S = set of transactions with in log no in log    For each in log, in forward order (earliest  latest) If Ti  S then write(X, v) output(X)   For each Ti  S  write Redo Logging & Checkpoint scan scan 8 Discussion  Undo Logging    need to write to disk as soon transaction finishes Access disk Redo Logging   need to keep all modified blocks in memory until commit Use memory Undo/Redo Loggin Step 1 2 3 4 5 6 7 8 9 10 11 Action t Mem A Mem B Disk A Disk B 8 16 16 8 8 8 16 16 8 8 8 8 8 8 8 8 8 16 16 16 16 8 16 8 8 8 8 16 16 16 16 8 16 16 16 16 16 Mem Log Read(A,t) t:=t*2 Write(A,t) Read(B,t) t:=t*2 Write(B,t) Flush log Output(A) Output(B) 9 Undo/Redo Logging Rules    Page X can be flushed before or after T commit Log record flushed before corresponding updated page (WAL) Flush at commit (log only) Undo/Redo Logging & Checkpoint scan scan 10
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.