Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. ·...
Transcript of Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. ·...
![Page 1: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/1.jpg)
Transaction Management and Concurrency Control
Chapter 7 (Cont.)
![Page 2: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/2.jpg)
2
In this chapter, you will learn:
Chapter 7(cont.)|Database Issues
What a database transaction is and what its properties are
What concurrency control is and what role it plays in
maintaining the database’s integrity
What locking methods are and how they work
How stamping methods are used for concurrency control
![Page 3: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/3.jpg)
3
In this chapter, you will learn
(continued):
Chapter 7(cont.)|Database Issues
How optimistic methods are used for concurrency control
How database recovery management is used to maintain
database integrity
![Page 4: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/4.jpg)
4
What is a Transaction?
Chapter 7(cont.)|Database Issues
![Page 5: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/5.jpg)
5
What is a Transaction? (continued)
Chapter 7(cont.)|Database Issues
Any action that reads from and/or writes to a database may
consist of:
Simple SELECT statement to generate list of table contents
Series of related UPDATE statements to change values of
attributes in various tables
Series of INSERT statements to add rows to one or more tables
Combination of SELECT, UPDATE, and INSERT statements
![Page 6: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/6.jpg)
6
What is a Transaction? (continued)
Chapter 7(cont.)|Database Issues
Transaction is logical unit of work that must be either
entirely completed or aborted
Successful transaction changes database from one consistent
state to another
One in which all data integrity constraints are satisfied
Most real-world database transactions are formed by two or
more database requests
Equivalent of a single SQL statement in an application program
or transaction
![Page 7: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/7.jpg)
7
Evaluating Transaction Results
Chapter 7(cont.)|Database Issues
Not all transactions update database
SQL code represents a transaction because database was accessed
Improper or incomplete transactions can have devastating effect on database integrity
Some DBMSs provide means by which user can define enforceable constraints
Other integrity rules are enforced automatically by the DBMS
![Page 8: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/8.jpg)
8
Evaluating Transaction Results
(continued)
Chapter 7(cont.)|Database Issues
Figure 9.2
![Page 9: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/9.jpg)
9
Transaction Properties
Chapter 7(cont.)|Database Issues
Atomicity
Requires that all operations (SQL requests) of a transaction be
completed
Consistency
Indicates the permanence of database’s consistent state
![Page 10: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/10.jpg)
10
Transaction Properties (continued)
Chapter 7(cont.)|Database Issues
Isolation
Data used during execution of a transaction cannot be used by
second transaction until first one is completed
Durability
Indicates permanence of database’s consistent state Isolation
![Page 11: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/11.jpg)
11
Transaction Properties (continued)
Chapter 7(cont.)|Database Issues
Serializability
Ensures that concurrent execution of several transactions yields
consistent results
![Page 12: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/12.jpg)
12
Transaction Management with SQL
Chapter 7(cont.)|Database Issues
ANSI has defined standards that govern SQL database transactions
Transaction support is provided by two SQL statements: COMMIT and ROLLBACK
![Page 13: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/13.jpg)
13
Transaction Management with SQL
(continued)
Chapter 7(cont.)|Database Issues
ANSI standards require that, when a transaction sequence is initiated by a user or an application program, it must continue through all succeeding SQL statements until one of four events occurs
COMMIT statement is reached
ROLLBACK statement is reached
End of program is reached
Program is abnormally terminated
![Page 14: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/14.jpg)
14
The Transaction Log
Chapter 7(cont.)|Database Issues
Transaction log stores:
A record for the beginning of transaction
For each transaction component (SQL statement):
Type of operation being performed (update, delete, insert)
Names of objects affected by transaction
“Before” and “after” values for updated fields
Pointers to previous and next transaction log entries for the same
transaction
Ending (COMMIT) of the transaction
![Page 15: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/15.jpg)
15
The Transaction Log (continued)
Chapter 7(cont.)|Database Issues
![Page 16: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/16.jpg)
16
Concurrency Control
Chapter 7(cont.)|Database Issues
Coordination of simultaneous transaction execution in a
multiprocessing database system
Objective is to ensure serializability of transactions in a
multiuser database environment
![Page 17: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/17.jpg)
17
Concurrency Control (continued)
Chapter 7(cont.)|Database Issues
Simultaneous execution of transactions over a shared
database can create several data integrity and consistency
problems
Lost updates
Uncommitted data
Inconsistent retrievals
![Page 18: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/18.jpg)
18
Lost Updates
Chapter 7(cont.)|Database Issues
![Page 19: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/19.jpg)
19
Lost Updates (continued)
Chapter 7(cont.)|Database Issues
![Page 20: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/20.jpg)
20
Uncommitted Data
Chapter 7(cont.)|Database Issues
![Page 21: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/21.jpg)
21
Uncommitted Data (continued)
Chapter 7(cont.)|Database Issues
![Page 22: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/22.jpg)
22
Inconsistent Retrievals
Chapter 7(cont.)|Database Issues
![Page 23: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/23.jpg)
23
Inconsistent Retrievals (continued)
Chapter 7(cont.)|Database Issues
![Page 24: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/24.jpg)
24
Inconsistent Retrievals (continued)
Chapter 7(cont.)|Database Issues
![Page 25: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/25.jpg)
25
The Scheduler
Chapter 7(cont.)|Database Issues
Special DBMS program
Purpose is to establish order of operations within which
concurrent transactions are executed
Interleaves execution of database operations to ensure
serializability and isolation of transactions
![Page 26: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/26.jpg)
26
The Scheduler (continued)
Chapter 7(cont.)|Database Issues
Bases its actions on concurrency control algorithms
Ensures computer’s central processing unit (CPU) is used
efficiently
Facilitates data isolation to ensure that two transactions do
not update same data element at same time
![Page 27: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/27.jpg)
27
The Scheduler (continued)
Chapter 7(cont.)|Database Issues
![Page 28: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/28.jpg)
28
Concurrency Control
with Locking Methods
Chapter 7(cont.)|Database Issues
Lock
Guarantees exclusive use of a data item to a current transaction
Required to prevent another transaction from reading
inconsistent data
Lock manager
Responsible for assigning and policing the locks used by
transactions
![Page 29: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/29.jpg)
29
Lock Granularity
Chapter 7(cont.)|Database Issues
Indicates level of lock use
Locking can take place at following levels:
Database
Table
Page
Row
Field (attribute)
![Page 30: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/30.jpg)
30
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
Database-level lock
Entire database is locked
Table-level lock
Entire table is locked
Page-level lock
Entire diskpage is locked
![Page 31: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/31.jpg)
31
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
Row-level lock
Allows concurrent transactions to access different rows of same
table, even if rows are located on same page
Field-level lock
Allows concurrent transactions to access same row, as long as
they require use of different fields (attributes) within that row
![Page 32: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/32.jpg)
32
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
![Page 33: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/33.jpg)
33
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
![Page 34: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/34.jpg)
34
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
![Page 35: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/35.jpg)
35
Lock Granularity (continued)
Chapter 7(cont.)|Database Issues
![Page 36: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/36.jpg)
36
Lock Types
Chapter 7(cont.)|Database Issues
Binary lock
Has only two states: locked (1) or unlocked (0)
Exclusive lock
Access is specifically reserved for transaction that locked object
Must be used when potential for conflict exists
Shared lock
Concurrent transactions are granted Read access on basis of a
common lock
![Page 37: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/37.jpg)
37
Lock Types (continued)
Chapter 7(cont.)|Database Issues
![Page 38: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/38.jpg)
38
Two-Phase Locking
to Ensure Serializability
Chapter 7(cont.)|Database Issues
Defines how transactions acquire and relinquish locks
Guarantees serializability, but it does not prevent deadlocks
Growing phase -Transaction acquires all required locks without
unlocking any data
Shrinking phase -Transaction releases all locks and cannot
obtain any new lock
![Page 39: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/39.jpg)
39
Two-Phase Locking
to Ensure Serializability (continued)
Chapter 7(cont.)|Database Issues
Governed by the following 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—that is, until
transaction is in its locked point
![Page 40: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/40.jpg)
40
Two-Phase Locking
to Ensure Serializability (continued)
Chapter 7(cont.)|Database Issues
![Page 41: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/41.jpg)
41
Deadlocks
Chapter 7(cont.)|Database Issues
Condition that occurs when two transactions wait for each
other to unlock data
Possible only if one of the transactions wants to obtain an
exclusive lock on a data item
No deadlock condition can exist among shared locks
![Page 42: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/42.jpg)
42
Deadlocks (continued)
Chapter 7(cont.)|Database Issues
Control through:
Prevention
Detection
Avoidance
![Page 43: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/43.jpg)
43
Deadlocks (continued)
Chapter 7(cont.)|Database Issues
![Page 44: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/44.jpg)
44
Concurrency Control
with Time Stamping Methods
Chapter 7(cont.)|Database Issues
Assigns global unique time stamp to each transaction
Produces explicit order in which transactions are submitted
to DBMS
Uniqueness
Ensures that no equal time stamp values can exist
Monotonicity
Ensures that time stamp values always increase
![Page 45: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/45.jpg)
45
Wait/Die and Wound/Wait Schemes
Chapter 7(cont.)|Database Issues
Wait/die
Older transaction waits and younger is rolled back and
rescheduled
Wound/wait
Older transaction rolls back younger transaction and
reschedules it
![Page 46: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/46.jpg)
46
Wait/Die and Wound/Wait Schemes
(continued)
Chapter 7(cont.)|Database Issues
![Page 47: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/47.jpg)
47
Concurrency Control
with Optimistic Methods
Chapter 7(cont.)|Database Issues
Optimistic approach
Based on assumption that majority of database operations do
not conflict
Does not require locking or time stamping techniques
Transaction is executed without restrictions until it is
committed
Phases are read, validation, and write
![Page 48: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/48.jpg)
48
Database Recovery Management
Chapter 7(cont.)|Database Issues
Database recovery
Restores database from given state, usually inconsistent, to
previously consistent state
Based on atomic transaction property
All portions of transaction must be treated as single logical unit of
work, so all operations must be applied and completed to produce
consistent database
If transaction operation cannot be completed, transaction must
be aborted, and any changes to database must be rolled back
(undone)
![Page 49: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/49.jpg)
49
Transaction Recovery
Chapter 7(cont.)|Database Issues
Makes use of deferred-write and write-through techniques
Deferred write
Transaction operations do not immediately update physical database
Only transaction log is updated
Database is physically updated only after transaction reaches its commit point using transaction log information
![Page 50: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/50.jpg)
50
Transaction Recovery (continued)
Chapter 7(cont.)|Database Issues
Write-through
Database is immediately updated by transaction operations
during transaction’s execution, even before transaction reaches
its commit point
![Page 51: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/51.jpg)
51
Transaction Recovery (continued)
Chapter 7(cont.)|Database Issues
![Page 52: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/52.jpg)
52
Summary
Chapter 7(cont.)|Database Issues
Transaction
Sequence of database operations that access database
Represents real-world events
Must be logical unit of work No portion of transaction can exist by itself
Takes database from one consistent state to another One in which all data integrity constraints are satisfied
![Page 53: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/53.jpg)
53
Summary (continued)
Chapter 7(cont.)|Database Issues
Transactions have five main properties: atomicity,
consistency, isolation, durability, and serializability
SQL provides support for transactions through the use of two
statements: COMMIT and ROLLBACK
SQL transactions are formed by several SQL statements or
database requests
![Page 54: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/54.jpg)
54
Summary (continued)
Chapter 7(cont.)|Database Issues
Transaction log keeps track of all transactions that modify
database
Concurrency control coordinates simultaneous execution of
transactions
Scheduler is responsible for establishing order in which
concurrent transaction operations are executed
![Page 55: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/55.jpg)
55
Summary (continued)
Chapter 7(cont.)|Database Issues
Lock guarantees unique access to a data item by transaction
Two types of locks can be used in database systems: binary
locks and shared/exclusive locks
Serializability of schedules is guaranteed through the use of
two-phase locking
![Page 56: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/56.jpg)
56
Summary (continued)
Chapter 7(cont.)|Database Issues
When two or more transactions wait indefinitely for each
other to release lock, they are in deadlock, or deadly
embrace
Three deadlock control techniques: prevention, detection,
and avoidance
![Page 57: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/57.jpg)
57
Summary (continued)
Chapter 7(cont.)|Database Issues
Concurrency control with time stamping methods assigns
unique time stamp to each transaction and schedules
execution of conflicting transactions in time stamp order
![Page 58: Chapter 7 (Cont.)maizatulakma.yolasite.com/resources/TMD255/Chapter 7(cont... · 2010. 9. 28. · Summary (continued) Chapter 7(cont.)|Database Issues Concurrency control with optimistic](https://reader036.fdocuments.net/reader036/viewer/2022062606/5fe24e80dbef8750ff2c0fb9/html5/thumbnails/58.jpg)
58
Summary (continued)
Chapter 7(cont.)|Database Issues
Concurrency control with optimistic methods assumes that
the majority of database transactions do not conflict and that
transactions are executed concurrently, using private copies
of the data
Database recovery restores database from given state to
previous consistent state