Concurrency Control WXES 2103 Database.

Slides:



Advertisements
Similar presentations
Database System Concepts 5 th Ed. © Silberschatz, Korth and Sudarshan, 2005 See for conditions on re-usewww.db-book.com Chapter 16 : Concurrency.
Advertisements

Concurrency Control WXES 2103 Database. Content Concurrency Problems Concurrency Control Concurrency Control Approaches.
Chapter 16 Concurrency. Topics in this Chapter Three Concurrency Problems Locking Deadlock Serializability Isolation Levels Intent Locking Dropping ACID.
Transaction Management: Concurrency Control CS634 Class 17, Apr 7, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
TRANSACTION PROCESSING SYSTEM ROHIT KHOKHER. TRANSACTION RECOVERY TRANSACTION RECOVERY TRANSACTION STATES SERIALIZABILITY CONFLICT SERIALIZABILITY VIEW.
CSC271 Database Systems Lecture # 32.
Lecture 11 Recoverability. 2 Serializability identifies schedules that maintain database consistency, assuming no transaction fails. Could also examine.
Data and Database Administration Chapter 12. Outline What is Concurrency Control? Background Serializability  Locking mechanisms.
Quick Review of Apr 29 material
Concurrency Control and Recovery In real life: users access the database concurrently, and systems crash. Concurrent access to the database also improves.
©Silberschatz, Korth and Sudarshan16.1Database System Concepts 3 rd Edition Chapter 16: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols.
Transaction Management and Concurrency Control
Transaction Management and Concurrency Control
Transaction Management and Concurrency Control
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
©Silberschatz, Korth and Sudarshan16.1Database System Concepts 3 rd Edition Chapter 16: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols.
Transaction Management
1 Transaction Management Database recovery Concurrency control.
Chapter 9 Transaction Management and Concurrency Control
©Silberschatz, Korth and Sudarshan16.1Database System Concepts 3 rd Edition Chapter 16: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols.
9 Chapter 9 Transaction Management and Concurrency Control Hachim Haddouti.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Academic Year 2014 Spring Academic Year 2014 Spring.
Transaction Processing Concepts
08_Transactions_LECTURE2 DBMSs should guarantee ACID properties (Atomicity, Consistency, Isolation, Durability). This is typically done by guaranteeing.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 10 Transaction Management.
PMIT-6102 Advanced Database Systems
Concurrency Control Lectured by, Jesmin Akhter, Assistant professor, IIT, JU.
Chapter 11 Concurrency Control. Lock-Based Protocols  A lock is a mechanism to control concurrent access to a data item  Data items can be locked in.
Ch 10: Transaction Management and Concurrent Control.
Transactions CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems by Connolly & Begg, © Addison Wesley 2002)
Chapter 15 Concurrency Control Yonsei University 1 st Semester, 2015 Sanghyun Park.
Concurrency Control Concurrency Control By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany) DIRECTOR ARUNAI ENGINEERING COLLEGE TIRUVANNAMALAI.
TRANSACTION MANAGEMENT R.SARAVANAKUAMR. S.NAVEEN..
Concurrency Control in Database Operating Systems.
CSC 240 (Blum)1 Database Transactions. CSC 240 (Blum)2 Transaction  A transaction is an interaction between a user (or application) and a database. A.
Transactions and Concurrency Control Fall 2007 Himanshu Bajpai
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
1 Concurrency control lock-base protocols timestamp-based protocols validation-based protocols Ioan Despi.
Transaction Management Transparencies. ©Pearson Education 2009 Chapter 14 - Objectives Function and importance of transactions. Properties of transactions.
1 Advanced Database Concepts Transaction Management and Concurrency Control.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Concurrency Control 2004, Spring Pusan National University Ki-Joune Li.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
3 Database Systems: Design, Implementation, and Management CHAPTER 9 Transaction Management and Concurrency Control.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 15 : Concurrency.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Transaction Management
Transaction Management and Concurrency Control
Concurrency Control.
Part- A Transaction Management
Chapter 16: Concurrency Control
Transaction Properties
Chapter 16: Concurrency Control
File Processing : Transaction Management
Chapter 15 : Concurrency Control
CONCURRENCY CONTROL (CHAPTER 16)
Concurrency.
Chapter 10 Transaction Management and Concurrency Control
Lecture 21: Concurrency & Locking
Concurrency Control.
Chapter 15 : Concurrency Control
Concurrency Unit 4.2 Dr Gordon Russell, Napier University
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Transaction management
Database Transactions
Transaction Management
CONCURRENCY Concurrency is the tendency for different tasks to happen at the same time in a system ( mostly interacting with each other ) .   Parallel.
Concurrency Unit 4.2 Dr Gordon Russell, Napier University
Transactions, Properties of Transactions
Presentation transcript:

Concurrency Control WXES 2103 Database

Content Concurrency Problems Concurrency Control Concurrency Control Approaches

Concurrency Problems Data integrity and consistency problem may arise when several transactions are processed simultaneously (multi-user DB environment) Example: Ali and Siti have a joint savings account in a bank and each has been issued an ATM card. It may happen that both Ali and Siti withdraw money at the same time in 2 different locations.

Concurrency Problems (cont…) Time Ali’s Transaction Siti’s Transaction 1 Read account balance (Balance = RM1000) 2 3 Withdraw RM600 (Balance = RM400) Write Balance = RM400 4 Withdraw RM700 (Insufficient Funds!)

Concurrency Control This type of problems are caused by lack of coordination of the two transactions. Maybe the DBMS does not provide concurrency control. Concurrency control refers to the coordination of execution of multiple transactions in a multi-user DB environment.

Concurrency Control 3 problems associated with concurrent processing : Lost updates Uncommitted data Inconsistent retrievals

Lost Updates Scenario Assume that customer balance (Bal) is 500. And 2 transaction T1 and T2 attempt to update the balance at the same time. Transaction Action Computation T1 Deposit 200 Bal = 500+200 (Bal = 700) T2 Withdraw 100 Bal = 700-100 (Bal = 600)

Lost Updates (cont…) The serial execution of these transaction yields the correct results (Bal = 600) Transaction requires several steps such as reading, modifying and writing. And it must be in correct sequence. See the correct sequence for the previous transactions.

Lost Updates (cont…) Time Trans. Step Stored Value 1 T1 Read Balance 500 2 Balance=500+200 3 Write Balance 700 4 T2 5 Balance=700-100 6 600

Lost Updates (cont…) The scheduler below shows incorrect sequence leading to lost updates Time Trans. Step Stored Value 1 T1 Read Balance 500 2 T2 3 Balance=500+200 700 4 Balance=500-100 400 5 Write Balance (Lost Update) 6 Write Balance

Uncommitted Data Data are not committed when 2 transaction T1 and T2 are executed concurrently, and T1 is rolled back after T2 has already accessed the uncommitted data This violates the isolation property of transaction

Uncommitted Data (cont…) Transaction Action Computation T1 Deposit 200 Bal = 500+200 (Rolled back) T2 Withdraw 100 Bal = 500-100 (Bal = 400) This serial execution yields the correct results Balance = 400

Uncommitted Data (cont…) Time Trans. Step Stored Value 1 T1 Read Balance 500 2 Balance=500+200 3 Write Balance 700 4 Roll back 5 T2 6 Balance=500-100 7 400

The scheduler below shows incorrect sequence leading to lost updates Time Trans. Step Stored Value 1 T1 Read Balance 500 2 Balance=500+200 3 Write Balance 700 4 T2 Read Balance (Uncommitted data) 5 Roll back 6 Balance=700-100 7 Write Balance (Lost update) 600

Inconsistent Retrieval Occurs when a transaction calculates an aggregate or summary function (e.g SUM) over a set of data, which the other transactions are updating The inconsistency happens because the transaction may read some data before they are changed and read other data after they are changed

Concurrency Control Approaches Locking – If one user is updating the data, all the other users denied access to the same data Time stamping – a unique global time stamp is assigned to each transaction

Locking A lock is a mechanism to control concurrent access to a data item Data items can be locked in two modes : 1. exclusive (X) mode. Data item can be both read as well as written. X-lock is requested using lock-X instruction. 2. shared (S) mode. Data item can only be read. S-lock is requested using lock-S instruction. Lock requests are made to concurrency-control manager. Transaction can proceed only after request is granted.

Locking (cont…) Lock-compatibility matrix A transaction may be granted a lock on an item if the requested lock is compatible with locks already held on the item by other transactions

Locking (cont…) Any number of transactions can hold shared locks on an item, but if any transaction holds an exclusive on the item no other transaction may hold any lock on the item. If a lock cannot be granted, the requesting transaction is made to wait till all incompatible locks held by other transactions have been released. The lock is then granted.

Example of a transaction performing locking: T2: lock-S(A); read (A); unlock(A); lock-S(B); read (B); unlock(B); display(A+B) Locking as above is not sufficient to guarantee serializability — if A and B get updated in-between the read of A and B, the displayed sum would be wrong.

Deadlock Consider the partial schedule Neither T3 nor T4 can make progress — executing lock-S(B) causes T4 to wait for T3 to release its lock on B, while executing lock-X(A) causes T3 to wait for T4 to release its lock on A.

Deadlock (cont…) Such a situation is called a deadlock. To handle a deadlock one of T3 or T4 must be rolled back and its locks released.

Methods to control deadlocks Deadlock prevention - transacation requesting a new lock is aborted if there is a possibility that it might cause a deadlock to occur

Methods to control deadlocks Deadlock detection - DBMS periodically checks the DB for any deadlocks. If exist it aborts one of the transaction Deadlock recovery - requires each transaction locks all its data items before it begins execution

Time stamping Each transaction is issued a timestamp when it enters the system. If an old transaction Ti has time-stamp TS(Ti), a new transaction Tj is assigned time-stamp TS(Tj) such that TS(Ti) <TS(Tj). The protocol manages concurrent execution such that the time-stamps determine the serializability order.

END Next Class – Distributed Database