



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The recovery aspect of transaction processing in advanced database systems. It covers topics such as atomicity, consistency, isolation, durability, and concurrency control. The document also explains the execution model, failures, and various approaches to recovery including naive approach, logging, and checkpointing. It provides examples and rules for undo/redo logging and explains the differences between physical and logical logging. The document concludes with a summary of transaction processing and a review of xml.
Typology: Slides
1 / 6
This page cannot be seen from the preview
Don't miss anything!
2
3
input( X ): copy the disk block containing object X to memory v = read( X ): read the value of X into a local variable v
Memory
Disk X Y…
X Y…
Issued by transactions
Issued by DBMS
5
6
Without force, if system crashes right after T commits, effects of T will be lost )Problem:
With steal, if system crashes before T commits but after some writes of T have been flushed to disk, there is no way to undo these writes )Problem:
Stop accepting new transactions (lame!) Finish all active transactions Take a database dump Now safe to truncate the log
Determine S , the set of currently active transactions, and log h begin-checkpoint S i Flush all modified memory blocks at your leisure Log h end-checkpoint begin-checkpoint_location i Between begin and end, continue processing old and new transactions
11
For a log record h T , start i, add T to U For a log record h T , commit | abort i, remove T from U For a log record h T , X , old , new i, issue write( X , new ) )Basically repeats history!
12
Log before and after images of data
Log operations (e.g., insert a row into a table) Smaller log records
14
“ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging,” by Mohan et al. TODS 1992
Repeats history (redo even incomplete transactions)
CLR (Compensation Log Record) for transaction aborts Redo/undo on an object is only performed when necessary → idempotency requirement lifted → logical logging supported
15