Transaction Management: Concurrent Processing, Backup, and Recovery
Learn about transactions, concurrent processing, and backup and recovery in database management. Understand the problems and control techniques involved in concurrent processing, and the methods for database recovery.
Transaction Management: Concurrent Processing, Backup, and Recovery
E N D
Presentation Transcript
Chapter 20 Transaction Management
Agenda • Transaction • Concurrent Processing • Backup and Recovery
Transaction - I • Definition • An action or actions to read or update the contents of the database • Types • Committed • Aborted • Compensating
Transaction - II • Property of Transactions (ACID) • Atomicity (all or nothing) • Consistency (state by database constraints and applications) • Isolation (independent) • Durability (permanent)
Concurrent Processing • Definition • Problems • Control
Concurrent Processing • Multiprogramming • Interleaved between two transactions • CPU • I/O • Logical unit of work
Concurrent Processing Problem • No problem • Write different data • Update different data • Read the same data • Problem • Write the same data • Update the same data
Concurrent Processing Problems • Lost update • Two transactions simultaneously update the same files • Uncommitted update • Transaction 2 uses the result updated by transaction 1 • Transaction 1 aborts and rolls back • Transaction 2 commits • Inconsistent Analysis • Transaction 1 reads • Transaction 2 reads and uses for calculation • Transaction 1 updates and commits • Transaction 2 updates and commits
SERIALIZABILITY • Transaction results form concurrent processing are the same as if stand-alone sequential processing was used • Ensure no anomalies arise from concurrent processing
Concurrency Control • Locking • Deadlock • Two-phase locking • Timestamping • Optimistic technique
Locking • Types • Shared Locks vs. Exclusive Locks • Read Locks vs. Write Locks • Upgrade vs. Downgrade • Granularity • Database • file • page • record • field
Deadlock • Definition • Tow or more transactions each wait for locks held by other transaction • Livelock • Control • Wait-Die • Wound-wait • Time out • Conservative 2PL
Two-phase Locking • Growing phase • Get all locks • Upgrade locks • Shrinking phase • Downgrade locks • Once starting to release a lock - no more new locks
Timestamping • Timestamp • unique identifier as relative starting time of a transaction • Read-timestamp & write timestamp • Timestamp protocol • Transactions with smaller timestamps get priority in the event of conflict • Transaction is only allowed on the item with smaller read-timestamp or write timestamp
Optimistic Technique • Read phase • Validate phase • Write phase
Database Recovery • Definition • Restoring the database to its correct state in the event of a failure • Reasons • Physical (fire, flood, etc.) • Sabotage • Carelessness • Hardware • Software (application/system)
Database Backup • Backup • Copy of the database • Transaction log • Transaction ID, time, operation, object, before image, after image, prior pointer, next pointer • Checkpoint • Synchronize transaction log and the database • Write data from buffers to database on the disk • Write checkpoint to log identify current transaction(s)
Recovery Methods • Reprocessing • Record all transactions since last backup and replay the following transactions • Rollfoward • Use the transaction log to change any committed transactions on the database or since last checkpoint • Rollback • Use transaction log to undo any aborted transactions
Shadow Paging Method • Current page table vs. Shadow page table • Pros & cons • Faster • Less overhead • Data fragmentation • Reclaim inaccessible blocks
Points To Remember • Properties of Transaction • Concurrent Processing • Backup and Recovery
Assignments • Review chapters 5-6, 11-14, and 19-20 • Read chapter • Exam 3 • Date: 5/17/07 • Project • Due date: 5/22/07 • Place: Tahoe 2090 • Time: 12 noon
End of MIS150 • Study! Study! Study! • There is no easy way out! • Have a happy and safe summer!!