lecture 12: concurrency control theory
TRANSCRIPT
![Page 1: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/1.jpg)
1 / 78
Concurrency Control Theory
Lecture 12: Concurrency Control Theory
![Page 2: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/2.jpg)
2 / 78
Concurrency Control Theory Recap
Recap
![Page 3: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/3.jpg)
3 / 78
Concurrency Control Theory Recap
Anatomy of a Database System [Monologue]
![Page 4: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/4.jpg)
4 / 78
Concurrency Control Theory Recap
Anatomy of a Database System [Monologue]
• Process Manager▶ Manages client connections
• Query Processor▶ Parse, plan and execute queries on top of storage manager
• Transactional Storage Manager▶ Knits together buffer management, concurrency control, logging and recovery
• Shared Utilities▶ Manage hardware resources across threads
![Page 5: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/5.jpg)
5 / 78
Concurrency Control Theory Recap
Anatomy of a Database System [Monologue]
• Process Manager▶ Connection Manager + Admission Control
• Query Processor▶ Query Parser▶ Query Optimizer (a.k.a., Query Planner)▶ Query Executor
• Transactional Storage Manager▶ Lock Manager▶ Access Methods (a.k.a., Indexes)▶ Buffer Pool Manager▶ Log Manager
• Shared Utilities▶ Memory, Disk, and Networking Manager
![Page 6: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/6.jpg)
6 / 78
Concurrency Control Theory Recap
Today’s Agenda
• Motivation• Atomicity,• Consistency• Durability• Isolation
![Page 7: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/7.jpg)
7 / 78
Concurrency Control Theory Motivation
Motivation
![Page 8: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/8.jpg)
8 / 78
Concurrency Control Theory Motivation
Motivation
• Lost Updates:▶ We both change the same record in a table at the same time. How to avoid race condition?▶ Concurrency Control protocol
• Durability:▶ You transfer $100 between bank accounts but there is a power failure. What is the correct
database state?▶ Recovery protocol
![Page 9: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/9.jpg)
9 / 78
Concurrency Control Theory Motivation
Concurrency Control & Recovery
• Valuable properties of DBMSs.• Based on concept of transactions with ACID properties.• Let’s talk about transactions . . .
![Page 10: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/10.jpg)
10 / 78
Concurrency Control Theory Motivation
Transaction
• A transaction is the execution of a sequence of one or more operations (e.g., SQLqueries) on a database to perform some higher-level function.
• It is the basic unit of change in a DBMS:▶ Partial transactions are not allowed!
![Page 11: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/11.jpg)
11 / 78
Concurrency Control Theory Motivation
Transaction: Example
• Move $100 from A’s bank account to B’s account.• Transaction:
▶ Check whether A has $100.▶ Deduct $100 from A’s account.▶ Add $100 to B’s account.
![Page 12: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/12.jpg)
12 / 78
Concurrency Control Theory Motivation
Strawman Solution
• Execute each txn one-by-one (i.e., serial order) as they arrive at the DBMS.▶ One and only one txn can be running at the same time in the DBMS.
• Before a txn starts, copy the entire database to a new file and make all changes to thatfile.▶ If the txn completes successfully, overwrite the original file with the new one.▶ If the txn fails, just remove the dirty copy.
![Page 13: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/13.jpg)
13 / 78
Concurrency Control Theory Motivation
Problem Statement
• A (potentially) better approach is to allow concurrent execution of independenttransactions.
• Why do we want that?▶ Better utilization/throughput▶ Lower response times to users.
• But we also would like:▶ Correctness▶ Fairness
![Page 14: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/14.jpg)
14 / 78
Concurrency Control Theory Motivation
Transactions
• Hard to ensure correctness?▶ What happens if A only has $100 and tries to pay off two people at the same time?
![Page 15: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/15.jpg)
15 / 78
Concurrency Control Theory Motivation
Problem Statement
• Arbitrary interleaving of operations can lead to:▶ Temporary Inconsistency (ok, unavoidable)▶ Permanent Inconsistency (bad!)
• We need formal correctness criteria to determine whether an interleaving is valid.
![Page 16: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/16.jpg)
16 / 78
Concurrency Control Theory Motivation
Definitions
• A txn may carry out many operations on the data retrieved from the database• However, the DBMS is only concerned about what data is read/written from/to the
database.▶ Changes to the outside world are beyond the scope of the DBMS.
![Page 17: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/17.jpg)
17 / 78
Concurrency Control Theory Motivation
Formal Definitions
• Database: A fixed set of named data objects (e.g., A, B, C, . . . ).▶ We do not need to define what these objects are now.
• Transaction: A sequence of read and write operations ( R(A), W(B), . . . )▶ DBMS’s abstract view of a user program
![Page 18: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/18.jpg)
18 / 78
Concurrency Control Theory Motivation
Transactions in SQL
• A new txn starts with the BEGIN command.• The txn stops with either COMMIT or ABORT:
▶ If commit, the DBMS either saves all the txn’s changes or aborts it.▶ If abort, all changes are undone so that it’s like as if the txn never executed at all.
• Abort can be either self-inflicted or caused by the DBMS.
![Page 19: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/19.jpg)
19 / 78
Concurrency Control Theory Motivation
Correctness Criteria: ACID
• Atomicity: All actions in the txn happen, or none happen.• Consistency: If each txn is consistent and the DB starts consistent, then it ends up
consistent.• Isolation: Execution of one txn is isolated from that of other txns.• Durability: If a txn commits, its effects persist.
![Page 20: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/20.jpg)
20 / 78
Concurrency Control Theory Motivation
Correctness Criteria: ACID
• Atomicity: “all or nothing”• Consistency: “it looks correct to me”• Isolation: “as if alone”• Durability: “survive failures”
![Page 21: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/21.jpg)
21 / 78
Concurrency Control Theory Atomicity
Atomicity
![Page 22: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/22.jpg)
22 / 78
Concurrency Control Theory Atomicity
Atomicity of Transactions
• Two possible outcomes of executing a txn:▶ Commit after completing all its actions.▶ Abort (or be aborted by the DBMS) after executing some actions.
• DBMS guarantees that txns are atomic.▶ From user’s point of view: txn always either executes all its actions, or executes no actions
at all.
![Page 23: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/23.jpg)
23 / 78
Concurrency Control Theory Atomicity
Atomicity of Transactions
• Scenario 1:▶ We take $100 out of A’s account but then the DBMS aborts the txn before we transfer it.
• Scenario 2:▶ We take $100 out of A’s account but then there is a power failure before we transfer it.
• What should be the correct state of A’s account after both txns abort?
![Page 24: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/24.jpg)
24 / 78
Concurrency Control Theory Atomicity
Mechanisms For Ensuring Atomicity
• Approach 1: Logging▶ DBMS logs all actions so that it can undo the actions of aborted transactions.▶ Maintain undo records both in memory and on disk.▶ Think of this like the black box in airplanes. . .
• Logging is used by almost every DBMS.▶ Audit Trail▶ Efficiency Reasons
![Page 25: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/25.jpg)
25 / 78
Concurrency Control Theory Atomicity
Mechanisms For Ensuring Atomicity
• Approach 2: Shadow Paging▶ DBMS makes copies of pages and txns make changes to those copies. Only when the txn
commits is the page made visible to others.▶ Originally from System R.
• Few systems do this:▶ CouchDB▶ LMDB (OpenLDAP)
![Page 26: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/26.jpg)
26 / 78
Concurrency Control Theory Consistency
Consistency
![Page 27: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/27.jpg)
27 / 78
Concurrency Control Theory Consistency
Consistency
• The "world" represented by the database is logically correct. All questions askedabout the data are given logically correct answers.▶ Database Consistency▶ Transaction Consistency
![Page 28: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/28.jpg)
28 / 78
Concurrency Control Theory Consistency
Database Consistency
• The database accurately models the real world and follows integrity constraints.• Transactions in the future see the effects of transactions committed in the past inside
of the database.
![Page 29: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/29.jpg)
29 / 78
Concurrency Control Theory Consistency
Transaction Consistency
• If the database is consistent before the transaction starts (running alone), it will also beconsistent after.
• Transaction consistency is the application’s responsibility.▶ We won’t discuss this further.
![Page 30: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/30.jpg)
30 / 78
Concurrency Control Theory Durability
Durability
![Page 31: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/31.jpg)
31 / 78
Concurrency Control Theory Durability
Durability
• All of the changes of committed transactions should be persistent.▶ No torn updates.▶ No changes from failed transactions.
• The DBMS can use either logging or shadow paging to ensure that all changes aredurable.
![Page 32: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/32.jpg)
32 / 78
Concurrency Control Theory Isolation
Isolation
![Page 33: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/33.jpg)
33 / 78
Concurrency Control Theory Isolation
Isolation of Transactions
• Users submit txns, and each txn executes as if it was running by itself.▶ Easier programming model to reason about.
• But the DBMS achieves concurrency by interleaving the actions (reads/writes of DBobjects) of txns.
• We need a way to interleave txns but still make it appear as if they ran one-at-a-time.
![Page 34: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/34.jpg)
34 / 78
Concurrency Control Theory Isolation
Mechanisms For Ensuring Isolation
• A concurrency control protocol is how the DBMS decides the proper interleaving ofoperations from multiple transactions.
• Two categories of protocols:▶ Pessimistic: Don’t let problems arise in the first place.▶ Optimistic: Assume conflicts are rare, deal with them after they happen.
![Page 35: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/35.jpg)
35 / 78
Concurrency Control Theory Isolation
Example
• Assume at first A and B each have $1000.• T1 transfers $100 from A’s account to B’s• T2 credits both accounts with 6% interest.
![Page 36: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/36.jpg)
36 / 78
Concurrency Control Theory Isolation
Example
• Assume at first A and B each have $1000.• What are the possible outcomes of running T1 and T2?
![Page 37: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/37.jpg)
37 / 78
Concurrency Control Theory Isolation
Example
• Assume at first A and B each have $1000.• What are the possible outcomes of running T1 and T2?• Many! But A+B should be:
▶ 2000 ∗ 1.06 =2120
• There is no guarantee that T1 will execute before T2 or vice-versa, if both are submittedtogether. But the net effect must be equivalent to these two transactions runningserially in some order.
![Page 38: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/38.jpg)
38 / 78
Concurrency Control Theory Isolation
Example
• Legal outcomes:▶ A=954, B=1166→ A+B=2120▶ A=960, B=1160→ A+B=2120
• The outcome depends on whether T1 executes before T2 or vice versa.
![Page 39: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/39.jpg)
39 / 78
Concurrency Control Theory Isolation
Serial Execution Example
![Page 40: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/40.jpg)
40 / 78
Concurrency Control Theory Isolation
Interleaving Transactions
• We interleave txns to maximize concurrency.▶ Slow disk/network I/O.▶ Multi-core CPUs.
• When one txn stalls because of a resource (e.g., page fault), another txn can continueexecuting and make forward progress.
![Page 41: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/41.jpg)
41 / 78
Concurrency Control Theory Isolation
Interleaving Example (Good)
![Page 42: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/42.jpg)
42 / 78
Concurrency Control Theory Isolation
Interleaving Example (Bad)
![Page 43: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/43.jpg)
43 / 78
Concurrency Control Theory Isolation
Interleaving Example (Bad)
![Page 44: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/44.jpg)
44 / 78
Concurrency Control Theory Isolation
Correctness
• How do we judge whether a schedule is correct?• If the schedule is equivalent to some serial execution.
![Page 45: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/45.jpg)
45 / 78
Concurrency Control Theory Isolation
Formal Properties of Schedules
• Serial Schedule▶ A schedule that does not interleave the actions of different transactions.
• Equivalent Schedules▶ For any database state, the effect of executing the first schedule is identical to the effect of
executing the second schedule.▶ Doesn’t matter what the arithmetic operations are!
![Page 46: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/46.jpg)
46 / 78
Concurrency Control Theory Isolation
Formal Properties of Schedules
• Serializable Schedule▶ A schedule that is equivalent to some serial execution of the transactions.
• If each transaction preserves consistency, every serializable schedule preservesconsistency.
![Page 47: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/47.jpg)
47 / 78
Concurrency Control Theory Isolation
Formal Properties of Schedules
• Serializability is a less intuitive notion of correctness compared to txn initiation time orcommit order, but it provides the DBMS with additional flexibility in schedulingoperations.
• More flexibility means better parallelism.
![Page 48: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/48.jpg)
48 / 78
Concurrency Control Theory Isolation
Conflicting Operations
• We need a formal notion of equivalence that can be implemented efficiently based onthe notion of conflicting operations
• Two operations conflict if:▶ They are by different transactions,▶ They are on the same object and at least one of them is a write.
![Page 49: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/49.jpg)
49 / 78
Concurrency Control Theory Isolation
Interleaved Execution Anomalies
• Read-Write Conflicts (R-W)• Write-Read Conflicts (W-R)• Write-Write Conflicts (W-W)
![Page 50: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/50.jpg)
50 / 78
Concurrency Control Theory Isolation
Read-Write Conflicts
• Unrepeatable Reads
![Page 51: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/51.jpg)
51 / 78
Concurrency Control Theory Isolation
Write-Read Conflicts
• Reading Uncommitted Data ("Dirty Reads")
![Page 52: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/52.jpg)
52 / 78
Concurrency Control Theory Isolation
Write-Write Conflicts
• Overwriting Uncommitted Data
![Page 53: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/53.jpg)
53 / 78
Concurrency Control Theory Isolation
Formal Properties of Schedules
• Given these conflicts, we now can understand what it means for a schedule to beserializable.▶ This is to check whether schedules are correct.▶ This is not how to generate a correct schedule.
• There are different levels of serializability:▶ Conflict Serializability ->Most DBMSs try to support this.▶ View Serializability -> No DBMS can do this.
![Page 54: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/54.jpg)
54 / 78
Concurrency Control Theory Isolation
Conflict Serializable Schedules
• Two schedules are conflict equivalent iff:▶ They involve the same actions of the same transactions, and▶ Every pair of conflicting actions is ordered the same way.
• Schedule S is conflict serializable if:▶ S is conflict equivalent to some serial schedule.
![Page 55: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/55.jpg)
55 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
• Schedule S is conflict serializable if you are able to transform S into a serial schedule byswapping consecutive non-conflicting operations of different transactions.
![Page 56: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/56.jpg)
56 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 57: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/57.jpg)
57 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 58: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/58.jpg)
58 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 59: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/59.jpg)
59 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 60: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/60.jpg)
60 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 61: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/61.jpg)
61 / 78
Concurrency Control Theory Isolation
Conflict Serializablity: Intuition
![Page 62: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/62.jpg)
62 / 78
Concurrency Control Theory Isolation
Serializablity
• Swapping operations is easy when there are only two txns in the schedule. It’scumbersome when there are many txns.
• Are there any faster algorithms to figure this out other than transposing operations?
![Page 63: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/63.jpg)
63 / 78
Concurrency Control Theory Isolation
Dependency Graphs
• One node per txn.• Edge from Ti to Tj if:
▶ An operation Oi of Ti conflicts with an operation Oj of Tj and▶ Oi appears earlier in the schedule than Oj.
• Also known as a precedence graph. A schedule is conflict serializable iff itsdependency graph is acyclic.
![Page 64: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/64.jpg)
64 / 78
Concurrency Control Theory Isolation
Example 1
![Page 65: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/65.jpg)
65 / 78
Concurrency Control Theory Isolation
Example 2
![Page 66: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/66.jpg)
66 / 78
Concurrency Control Theory Isolation
Example 3 – Inconsistent Analysis
![Page 67: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/67.jpg)
67 / 78
Concurrency Control Theory Isolation
Example 3 – Inconsistent Analysis
![Page 68: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/68.jpg)
68 / 78
Concurrency Control Theory Isolation
Example 3 – Inconsistent Analysis
![Page 69: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/69.jpg)
69 / 78
Concurrency Control Theory Isolation
View Serializability
• Alternative (weaker) notion of serializability.• Schedules S1 and S2 are view equivalent if:
▶ If T1 reads initial value of A in S1, then T1 also reads initial value of A in S2.▶ If T1 reads value of A written by T2 in S1, then T1 also reads value of A written by T2 in S2.▶ If T1 writes final value of A in S1, then T1 also writes final value of A in S2.
![Page 70: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/70.jpg)
70 / 78
Concurrency Control Theory Isolation
View Serializability
![Page 71: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/71.jpg)
71 / 78
Concurrency Control Theory Isolation
View Serializability
![Page 72: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/72.jpg)
72 / 78
Concurrency Control Theory Isolation
Serializability
• View Serializability allows for (slightly) more schedules than Conflict Serializabilitydoes.▶ But is difficult to enforce efficiently.
• Neither definition allows all schedules that you would consider "serializable".▶ This is because they don’t understand the meanings of the operations or the data (recall
Example 3)
![Page 73: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/73.jpg)
73 / 78
Concurrency Control Theory Isolation
Serializability
• In practice, Conflict Serializability is what systems support because it can be enforcedefficiently.
• To allow more concurrency, some special cases get handled separately at theapplication level.
![Page 74: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/74.jpg)
74 / 78
Concurrency Control Theory Isolation
Universe of Schedules
![Page 75: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/75.jpg)
75 / 78
Concurrency Control Theory Conclusion
Conclusion
![Page 76: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/76.jpg)
76 / 78
Concurrency Control Theory Conclusion
ACID Properties
• Atomicity: All actions in the txn happen, or none happen.• Consistency: If each txn is consistent and the DB starts consistent, then it ends up
consistent.• Isolation: Execution of one txn is isolated from that of other txns.• Durability: If a txn commits, its effects persist.
![Page 77: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/77.jpg)
77 / 78
Concurrency Control Theory Conclusion
Parting Thoughts
• Concurrency control and recovery are among the most important functions providedby a DBMS.
• Concurrency control is automatic▶ System automatically inserts lock/unlock requests and schedules actions of different txns.▶ Ensures that resulting execution is equivalent to executing the txns one after the other in
some order.
![Page 78: Lecture 12: Concurrency Control Theory](https://reader031.vdocuments.net/reader031/viewer/2022012414/616e982621cd6a08bc6fa349/html5/thumbnails/78.jpg)
78 / 78
Concurrency Control Theory Conclusion
Next Class
• Two-Phase Locking• Isolation Levels