Download presentation
Presentation is loading. Please wait.
1
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 15 Transaction Management
2
15-2 Outline Transaction basics Concurrency control Recovery management Transaction design issues Workflow management
3
15-3 Transaction Definition Supports daily operations of an organization Collection of database operations Reliably and efficiently processed as one unit of work No lost data Interference among multiple users Failures
4
15-4 Airline Transaction Example START TRANSACTION Display greeting Get reservation preferences from user SELECT departure and return flight records If reservation is acceptable then UPDATE seats remaining of departure flight record UPDATE seats remaining of return flight record INSERT reservation record Print ticket if requested End If On Error: ROLLBACK COMMIT
5
15-5 ATM Transaction Example START TRANSACTION Display greeting Get account number, pin, type, and amount SELECT account number, type, and balance If balance is sufficient then UPDATE account by posting debit INSERT history record Display message and dispense cash Print receipt if requested End If On Error: ROLLBACK COMMIT
6
15-6 Transaction Properties Atomic: all or nothing Consistent: database must be consistent before and after a transaction Isolated: no unwanted interference from other users Durable: database changes are permanent after the transaction completes
7
15-7 Transaction Processing Services Concurrency control Recovery management Service characteristics Transparent Consume significant resources Significant cost component Transaction design important
8
15-8 Concurrency Control Problem definition Concurrency control problems Concurrency control tools
9
15-9 Concurrency Control Problem Objective: Maximize work performed Throughput: number of transactions processed per unit time Constraint: No interference: serial effect Interference occurs on commonly manipulated data known as hot spots
10
15-10 Lost Update Problem
11
15-11 Uncommitted Dependency Problem
12
15-12 Inconsistent Retrieval Problems Interference causes inconsistency among multiple retrievals of a subset of data Incorrect summary Phantom read Non repeatable read
13
15-13 Incorrect Summary Problem
14
15-14 Locking Fundamentals Fundamental tool of concurrency control Obtain lock before accessing an item Wait if a conflicting lock is held Shared lock: conflicts with exclusive locks Exclusive lock: conflicts with all other kinds of locks Concurrency control manager maintains the lock table
15
15-15 Locking Granularity
16
15-16 Deadlock (Mutual Waiting)
17
15-17 Deadlock Resolution Detection Overhead is reasonable for deadlocks among 2 or 3 transactions Used by enterprise DBMSs Timeout Waiting limit Can abort transactions that are not deadlocked Timeout interval is difficult to determine
18
15-18 Two Phase Locking (2PL) Protocol to prevent lost update problems All transactions must follow Conditions Obtain lock before accessing item Wait if a conflicting lock is held Cannot obtain new locks after releasing locks
19
15-19 2PL Implementation
20
15-20 Optimistic Approaches Assumes conflicts are rare No locks Check for conflicts After each read and write At end of transaction Evaluation Less overhead More variability
21
15-21 Recovery Management Device characteristics and failure types Recovery tools Recovery processes
22
15-22 Storage Device Basics Volatile: loses state after a shutdown Nonvolatile: retains state after a shutdown Nonvolatile is more reliable than volatile but failures can cause loss of data Use multiple levels and redundant levels of nonvolatile storage for valuable data
23
15-23 Failure Types Local Detected and abnormal termination Limited to a single transaction Operating System Affects all active transactions Less common than local failures Device Affects all active and past transactions Least common
24
15-24 Transaction Log History of database changes Large storage overhead Operations Undo: revert to previous state Redo: reestablish a new state Fundamental tool of recovery management
25
15-25 Transaction Log Example
26
15-26 Checkpoints Reduces restart work but adds overhead Checkpoint log record Write log buffers and database buffers Checkpoint interval: time between checkpoints Types of checkpoints Cache consistent Fuzzy Incremental
27
15-27 Other Recovery Tools Force writing Checkpoint time End of transaction Database backup Complete Incremental
28
15-28 Recovery from a Media Failure Restore database from the most recent backup Redo all committed transactions since the most recent backup Restart active transactions
29
15-29 Recovery Timeline
30
15-30 Recovery Processes Depend on timing of database writes Immediate update approach: Before commit Log records written first (write-ahead log protocol) Deferred update approach After commit Undo operations not needed
31
15-31 Immediate Update Recovery
32
15-32 Deferred Update Recovery
33
15-33 Oracle Recovery Features Incremental checkpoints Immediate update approach Mean Time to Recover (MTTR) parameter MTTR advisor Dynamic dictionary views to monitor recovery state
34
15-34 Transaction Design Issues Transaction boundary Isolation levels Deferred constraint checking Savepoints
35
15-35 Transaction Boundary Decisions Division of work into transactions Objective: minimize transaction duration Constraint: enforcement of important integrity constraints Transaction boundary decision can affect hot spots
36
15-36 Registration Form Example
37
15-37 Transaction Boundary Choices One transaction for the entire form One transaction for the main form and one transaction for all subform records One transaction for the main form and separate transactions for each subform record
38
15-38 Avoiding User Interaction Time Avoid to increase throughput Possible side effects: user confusion due to database changes Balance increase in throughput with occurrences of side effects Most situations increase in throughput more important than possible user confuusion
39
15-39 Isolation Levels Degree to which a transaction is separated from the actions of other transactions Balance concurrency control overhead with interference problems Some transactions can tolerate uncommitted dependency and inconsistent retrieval problems Specify using the SET TRANSACTION statement
40
15-40 SQL Isolation Levels LevelXLocksSLocksPLocksInterference Read uncommitted None Uncommitted dependency Read committed LongShortNoneAll except uncommitted dependency Repeatable read Long Short (S), Long (X) Phantom reads SerializableLong None
41
15-41 Scholar’s Lost Update Transaction ATimeTransaction B Obtain S lock on SRT1T1 Read SR (10)T2T2 Release S lock on SRT3T3 If SR > 0 then SR = SR -1T4T4 T5T5 Obtain S lock on SR T6T6 Read SR (10) T7T7 Release S lock on SR T8T8 If SR > 0 then SR = SR -1 Obtain X lock on SRT9T9 Write SR (9)T 10 CommitT 11 T 12 Obtain X lock on SR T 13 Write SR (9)
42
15-42 Integrity Constraint Timing Most constraints checked immediately Can defer constraint checking to EOT SQL Constraint timing clause for constraints in a CREATE TABLE statement SET CONSTRAINTS statement
43
15-43 Save Points Some transactions have tentative actions SAVEPOINT statement determines intermediate points ROLLBACK to specified save points
44
15-44 Workflow Management Workflow description Enabling technologies Advanced transaction management
45
15-45 Workflow Basics Set of tasks to accomplish a business process Human-oriented vs. computer-oriented Amount of judgment Amount of automation Task structure vs. task complexity Relationships among tasks Difficulty of performing individual tasks
46
15-46 Workflow Classification
47
15-47 Enabling Technologies Distributed object management Many kinds of non traditional data Data often dispersed in location Workflow modeling Specification Simulation Optimization
48
15-48 Advanced Transaction Management Conversational transactions Transactions with complex structure Transactions involving legacy systems Compensating transactions More flexible transaction processing
49
15-49 Summary Transaction: user-defined collection of work DBMSs support ACID properties Knowledge of concurrency control and recovery important for managing databases Transaction design issues are important Transaction processing is an important part of workflow management
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.