Transaction Management Chapters 20 Transaction Management
Agenda Properties of Transaction Concurrent Processing Database Protection Recovery
Property of Transactions (ACID) Atomicity Consistency Isolation Durability
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 Granularity Shared Locks vs. Exclusive Locks Read Locks vs. Write Locks Upgrade vs. Downgrade Granularity Database file page record field
Deadlock Definition Control Tow or more transactions each wait for locks held by other transaction Livelock Control Wait-Die Wound-wait
Two-phase Locking Growing phase Shrinking phase Get all locks Upgrade locks Shrinking phase Downgrade locks Once starting to release a lock - no more new locks
Timestamping Timestamp Timestamp protocol 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 Restoring the database to its correct state in the event of a failure Why? Physical (fire, flood, etc.) Sabotage Carelessness Hardware Software (application/system)
Database Protection Back up Transaction log Checkpoint 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 Rollforward Rollback Record all transactions since last backup and replay those transactions Rollforward 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
Failure & Recovery Aborted transaction Incorrect data System failure Rollback Incorrect data Rollback or restart from checkpoint System failure Database destroyed Rollforward from last backup
Points To Remember Properties of Transaction Concurrent Processing Database Protection Recovery
Assignments Review chapters 5-6, 11-13, 18-19, 24-26 Exam 3 Project Date: 5/13/04 Project Due date: 5/20/04 Place: MIS Department Office
End of MIS150 Exam date: 5/13/03 Study! Study! Study! Have a happy and safe holiday!!