Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
9 Chapter 9 Transaction Management and Concurrency Control Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel 9 In this chapter, you will learn: • What a database transaction is and what its properties are • How database transactions are managed • What concurrency control is and what role it plays in maintaining the database’s integrity • What locking methods are and how they work • How database recovery management is used to maintain database integrity Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 2 9 What is a Transaction? • Logical unit of work • Must be either entirely completed or aborted • No intermediate states are acceptable Figure 9.1 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 3 9 Example Transaction • Examine current account balance SELECT ACC_NUM, ACC_BALANCE FROM CHECKACC WHERE ACC_NUM = ‘0908110638’; • Consistent state after transaction • No changes made to Database Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 4 9 Example Transaction • Register credit sale of 100 units of product X to customer Y for $500 UPDATE PRODUCT SET PROD_QOH = PROD_QOH - 100 WHERE PROD_CODE = ‘X’; UPDATE ACCT_RECEIVABLE SET ACCT_BALANCE = ACCT_BALANCE + 500 WHERE ACCT_NUM = ‘Y’; • Consistent state only if both transactions are fully completed • DBMS doesn’t guarantee transaction represents real-world event Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 5 9 Transaction Properties • Atomicity – All transaction operations must be completed – Incomplete transactions aborted • Durability – Permanence of consistent database state • Serializability – Conducts transactions in serial order – Important in multi-user and distributed databases • Isolation – Transaction data cannot be reused until its execution complete Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 6 9 Transaction Management with SQL • Transaction support – COMMIT – ROLLBACK • User initiated transaction sequence must continue until: – – – – COMMIT statement is reached ROLLBACK statement is reached End of a program reached Program reaches abnormal termination Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 7 9 Transaction Log • Tracks all transactions that update database • May be used by ROLLBACK command • May be used to recover from system failure • Log stores – Record for beginning of transaction – Each SQL statement • • • • Operation Names of objects Before and after values for updated fields Pointers to previous and next entries – Commit Statement Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 8 9 Transaction Log Example Table 9.1 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 9 9 Concurrency Control • Coordinates simultaneous transaction execution in multiprocessing database – Ensure serializability of transactions in multiuser database environment – Potential problems in multiuser environments • Lost updates • Uncommitted data • Inconsistent retrievals Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 10 9 Lost Updates Table 9.2 Table 9.3 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 11 9 Uncommitted Data Table 9.4 Table 9.5 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 12 9 Inconsistent Retrievals Table 9.6 Table 9.7 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 13 9 Inconsistent Retrievals (con’t.) Table 9.8 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 14 9 The Scheduler • Establishes order of concurrent transaction execution • Interleaves execution of database operations to ensure serializability • Bases actions on concurrency control algorithms – Locking – Time stamping • Ensures efficient use of computer’s CPU Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 15 9 Read/Write Conflict Scenarios: Conflicting Database Operations Matrix Table 9.9 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 16 9 Concurrency Control with Locking Methods • Lock guarantees current transaction exclusive use of data item • Acquires lock prior to access • Lock released when transaction is completed • DBMS automatically initiates and enforces locking procedures • Managed by lock manager • Lock granularity indicates level of lock use Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 17 9 Database-Level Locking Sequence Figure 9.2 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 18 9 Table-Level Lock Example Figure 9.3 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 19 9 Page-Level Lock Example Figure 9.4 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 20 9 Row-Level Lock Example Figure 9.5 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 21 9 Binary Locks • Two states – Locked (1) – Unlocked (0) • Locked objects unavailable to other objects – Unlocked objects open to any transaction – Transaction unlocks object when complete Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 22 9 Example of Binary Lock Table Table 9.10 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 23 9 Shared/Exclusive Locks • Shared – Exists when concurrent transactions granted READ access – Produces no conflict for read-only transactions – Issued when transaction wants to read and exclusive lock not held on item • Exclusive – Exists when access reserved for locking transaction – Used when potential for conflict exists – Issued when transaction wants to update unlocked data Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 24 9 Problems with Locking • Transaction schedule may not be serializable – Managed through two-phase locking • Schedule may create deadlocks – Managed by using deadlock detection and prevention techniques Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 25 9 Two-Phase Locking • Growing phase • Shrinking phase • Governing rules – Two transactions cannot have conflicting locks – No unlock operation can precede a lock operation in the same transaction – No data are affected until all locks are obtained Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 26 9 Two-Phase Locking Protocol Figure 9.6 Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 27 9 Deadlocks • Occurs when two transactions wait for each other to unlock data • Called deadly embrace • Control techniques – Deadlock prevention – Deadlock detection – Deadlock avoidance Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 28 9 How Deadlock Conditions Created Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel Table 9.11 29 9 Concurrency Control with Time Stamping Methods • Assigns global unique time stamp to each transaction • Produces order for transaction submission • Properties – Uniqueness – Monotonicity • DBMS executes conflicting operations in time stamp order • Each value requires two additional time stamps fields – Last time field read – Last update Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 30 9 Concurrency Control with Optimistic Methods • Assumes most database operations do not conflict • Transaction executed without restrictions until committed • Phases: – Read Phase – Validation Phase – Write Phase Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 31 9 Database Recovery Management • Restores a database to previously consistent state • Based on the atomic transaction property • Level of backup – Full backup – Differential – Transaction log Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 32 9 Causes of Database Failure • • • • • Software Hardware Programming Exemption Transaction External Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 33 9 Transaction Recovery • Deferred-write and Deferred-update – Changes are written to the transaction log – Database updated after transaction reaches commit point • Write-through – – – – Immediately updated by during execution Before the transaction reaches its commit point Transaction log also updated Transaction fails, database uses log information to ROLLBACK Database Systems: Design, Implementation, & Management, 5th Edition, Rob & Coronel 34