![Page 1: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/1.jpg)
Transaction Models &Concurrency Control
@Andy_Pavlo // 15-721 // Spring 2019
ADVANCEDDATABASE SYSTEMS
Le
ctu
re #
02
![Page 2: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/2.jpg)
CMU 15-721 (Spring 2019)
Background
Transaction Models
Concurrency Control Protocols
Isolation Levels
2
![Page 3: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/3.jpg)
CMU 15-721 (Spring 2019)
COURSE OVERVIEW
This course is on database systems for modern transaction processing and analytical workloads.
The first three weeks are focused on how to ingest new data quickly.
We will then discuss how to analyze that data and ask complex questions about it.
3
![Page 4: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/4.jpg)
CMU 15-721 (Spring 2019)
DATABASE WORKLOADS
On-Line Transaction Processing (OLTP)→ Fast operations that only read/update a small amount of
data each time.
On-Line Analytical Processing (OLAP)→ Complex queries that read a lot of data to compute
aggregates.
Hybrid Transaction + Analytical Processing→ OLTP + OLAP together on the same database instance
4
![Page 5: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/5.jpg)
CMU 15-721 (Spring 2019)
BIFURCATED ENVIRONMENT
5
OLAP Data WarehouseOLTP Data Silos
Transactions
![Page 6: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/6.jpg)
CMU 15-721 (Spring 2019)
BIFURCATED ENVIRONMENT
5
ExtractTransform
Load
OLAP Data WarehouseOLTP Data Silos
Transactions
![Page 7: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/7.jpg)
CMU 15-721 (Spring 2019)
BIFURCATED ENVIRONMENT
5
ExtractTransform
Load
OLAP Data WarehouseOLTP Data Silos
Analytical QueriesTransactions
![Page 8: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/8.jpg)
CMU 15-721 (Spring 2019)
BIFURCATED ENVIRONMENT
5
ExtractTransform
Load
OLAP Data Warehouse
Analytical QueriesTransactions
HTAP Database
![Page 9: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/9.jpg)
CMU 15-721 (Spring 2019)
WORKLOAD CHARACTERIZATION
6
Writes Reads
Simple
Complex
Workload Focus
Ope
rati
on C
ompl
exit
y
OLTP
OLAP
Source: Michael Stonebraker
![Page 10: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/10.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION DEFINITION
A txn is a sequence of actions that are executed on a shared database to perform some higher-level function.
Txns are the basic unit of change in the DBMS. No partial txns are allowed.
7
![Page 11: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/11.jpg)
CMU 15-721 (Spring 2019)
ACTION CL ASSIFICATION
Unprotected Actions→ These lack all of the ACID properties except for
consistency. Their effects cannot be depended upon.
Protected Actions→ These do not externalize their results before they are
completely done. Fully ACID.
Real Actions→ These affect the physical world in a way that is hard or
impossible to reverse.
8
![Page 12: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/12.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION MODELS
Flat Txns
Flat Txns + Savepoints
Chained Txns
Nested Txns
Saga Txns
Compensating Txns
9
![Page 13: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/13.jpg)
CMU 15-721 (Spring 2019)
FL AT TRANSACTIONS
Standard txn model that starts with BEGIN, followed by one or more actions, and then completed with either COMMIT or ROLLBACK.
10
Txn #1
BEGIN
READ(A)
COMMIT
WRITE(B)
Txn #2
BEGIN
READ(A)
WRITE(B)
ROLLBACK
![Page 14: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/14.jpg)
CMU 15-721 (Spring 2019)
LIMITATIONS OF FL AT TRANSACTIONS
The application can only rollback the entire txn(i.e., no partial rollbacks).
All of a txn's work is lost is the DBMS fails before that txn finishes.
Each txn takes place at a single point in time.
11
![Page 15: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/15.jpg)
CMU 15-721 (Spring 2019)
LIMITATIONS OF FL AT TRANSACTIONS
Example #1: Multi-Stage Planning→ An application needs to make multiple reservations.→ All the reservations need to occur or none of them.
Example #2: Bulk Updates→ An application needs to update one billion records.→ This txn could take hours to complete and therefore the
DBMS is exposed to losing all of its work for any failure or conflict.
12
![Page 16: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/16.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
Save the current state of processing for the txn and provide a handle for the application to refer to that savepoint.
The application can control the state of the txnthrough these savepoints:→ ROLLBACK – Revert all changes back to the state of the
DB at the savepoint.→ RELEASE – Destroys a savepoint previously defined in
the txn.
13
![Page 17: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/17.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
New Savepoint
![Page 18: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/18.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
A
New Savepoint
![Page 19: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/19.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
ANew Savepoint
Savepoint#1
![Page 20: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/20.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
ANew Savepoint
B
Savepoint#1
![Page 21: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/21.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
ANew Savepoint
BNew SavepointX
Savepoint#1
![Page 22: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/22.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
ANew Savepoint
BNew Savepoint
CX
Savepoint#1
![Page 23: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/23.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
14
Txn #1
BEGIN
WRITE(A)
COMMIT
SAVEPOINT 1
WRITE(B)
ROLLBACK TO 1
WRITE(C)
ANew Savepoint
BNew Savepoint
CX
Savepoint#1
![Page 24: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/24.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
ROLLBACK TO 3
RELEASE 2
WRITE(D)
![Page 25: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/25.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
![Page 26: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/26.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
ROLLBACK TO 3
RELEASE 2
WRITE(D)
Savepoint#1
New Savepoint
![Page 27: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/27.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
ROLLBACK TO 3
RELEASE 2
WRITE(D)
Savepoint#1
New Savepoint
![Page 28: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/28.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
ROLLBACK TO 3
RELEASE 2
WRITE(D)
Savepoint#1
Savepoint#2
New Savepoint
![Page 29: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/29.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
Savepoint#1
Savepoint#2
New Savepoint
![Page 30: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/30.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
Savepoint#1
Savepoint#2
Savepoint#3
![Page 31: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/31.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
Savepoint#1
![Page 32: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/32.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
D
Savepoint#1
![Page 33: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/33.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
D
???
Savepoint#1
![Page 34: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/34.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION SAVEPOINTS
15
Txn #1
BEGIN
WRITE(A)
SAVEPOINT 3
SAVEPOINT 1
WRITE(B)
SAVEPOINT 2
WRITE(C)
A
B
C
ROLLBACK TO 3
RELEASE 2
WRITE(D)
New Savepoint
D
Savepoint#1
![Page 35: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/35.jpg)
CMU 15-721 (Spring 2019)
NESTED TRANSACTIONS
Savepoints organize a transaction as a sequence of actions that can be rolled back individually.
Nested txns form a hierarchy of work.→ The outcome of a child txn depends on the outcome of its
parent txn.
16
![Page 36: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/36.jpg)
CMU 15-721 (Spring 2019)
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 37: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/37.jpg)
CMU 15-721 (Spring 2019)
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 38: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/38.jpg)
CMU 15-721 (Spring 2019)
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 39: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/39.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 40: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/40.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 41: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/41.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 42: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/42.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 43: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/43.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
BEGIN
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 44: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/44.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
BEGIN
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 45: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/45.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
BEGIN
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
![Page 46: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/46.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
BEGIN
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
X
X
X
![Page 47: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/47.jpg)
CMU 15-721 (Spring 2019)
Sub-Txn #1.1
NESTED TRANSACTIONS
17
Sub-Txn #1.1.1
BEGIN
Txn #1
BEGIN
WRITE(A)
BEGIN
BEGIN
WRITE(C)
COMMIT
COMMIT
WRITE(B)
ROLLBACK
WRITE(D)
BEGIN
X
X
X
✓
![Page 48: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/48.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
Multiple txns executed one after another.
Combined COMMIT / BEGIN operation is atomic.→ No other txn can change the state of the database as seen
by the second txn from the time that the first txn commits and the second txn begins.
Differences with savepoints:→ COMMIT allows the DBMS to free locks.→ Cannot rollback previous txns in chain.
18
![Page 49: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/49.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
WRITE(B)
![Page 50: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/50.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
A
WRITE(B)
![Page 51: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/51.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
A
WRITE(B)
![Page 52: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/52.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
A B
WRITE(B)
![Page 53: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/53.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
A B
WRITE(B)
![Page 54: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/54.jpg)
CMU 15-721 (Spring 2019)
TRANSACTION CHAINS
19
Txn #1
BEGIN
WRITE(A)
COMMITTxn #2
BEGIN
READ(A)
COMMITTxn #3
BEGIN
WRITE(C)
ROLLBACK
A B C
X✓ ✓
WRITE(B)
![Page 55: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/55.jpg)
CMU 15-721 (Spring 2019)
BULK UPDATE PROBLEM
These other txn models are nice, but they still do not solve our bulk update problem.
Chained txns seems like the right idea but they require the application to handle failures and maintain its own state.→ Has to be able to reverse changes when things fail.
20
![Page 56: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/56.jpg)
CMU 15-721 (Spring 2019)
COMPENSATING TRANSACTIONS
A special type of txn that is designed to semantically reverse the effects of another already committed txn.
Reversal has to be logical instead of physical.→ Example: Decrement a counter by one instead of
reverting to the original value.
21
![Page 57: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/57.jpg)
CMU 15-721 (Spring 2019)
SAGA TRANSACTIONS
A sequence of chained txns T1–Tn and compensating txns C1–Cn-1 where one of the following is guaranteed:
→The txns will commit in the orderT1…Tj,Cj…C1 (where j < n)
This allows the DBMS to support long-running, multi-step txns without application-managed logic
22
SAGASSIGMOD 1987
![Page 58: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/58.jpg)
CMU 15-721 (Spring 2019)
SAGA TRANSACTIONS
23
Txn #1
BEGIN
WRITE(A+1)
COMMIT
Txn #2
BEGIN
WRITE(B+1)
COMMIT
Txn #3
BEGIN
WRITE(C+1)
![Page 59: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/59.jpg)
CMU 15-721 (Spring 2019)
SAGA TRANSACTIONS
23
Txn #1
BEGIN
WRITE(A+1)
COMMIT
Txn #2
BEGIN
WRITE(B+1)
COMMIT
Txn #3
BEGIN
WRITE(C+1)
![Page 60: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/60.jpg)
CMU 15-721 (Spring 2019)
SAGA TRANSACTIONS
23
Txn #1
BEGIN
WRITE(A+1)
COMMIT
Txn #2
BEGIN
WRITE(B+1)
COMMIT
Txn #3
BEGIN
WRITE(C+1)
Comp Txn #2
BEGIN
WRITE(B-1)
COMMIT
![Page 61: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/61.jpg)
CMU 15-721 (Spring 2019)
SAGA TRANSACTIONS
23
Txn #1
BEGIN
WRITE(A+1)
COMMIT
Txn #2
BEGIN
WRITE(B+1)
COMMIT
Txn #3
BEGIN
WRITE(C+1)
Comp Txn #1
BEGIN
WRITE(A-1)
COMMIT
Comp Txn #2
BEGIN
WRITE(B-1)
COMMIT
![Page 62: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/62.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL
The protocol to allow txns to access a database in a multi-programmed fashion while preserving the illusion that each of them is executing alone on a dedicated system.→ The goal is to have the effect of a group of txns on the
database’s state is equivalent to any serial execution of all txns.
Provides Atomicity + Isolation in ACID
24
![Page 63: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/63.jpg)
CMU 15-721 (Spring 2019)
TXN INTERNAL STATE
Status→ The current execution state of the txn.
Undo Log Entries→ Stored in an in-memory data structure.→ Dropped on commit.
Redo Log Entries→ Append to the in-memory tail of WAL.→ Flushed to disk on commit.
Read/Write Set→ Depends on the concurrency control scheme.
25
![Page 64: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/64.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL SCHEMES
Two-Phase Locking (2PL)→ Assume txns will conflict so they must acquire locks on
database objects before they are allowed to access them.
Timestamp Ordering (T/O)→ Assume that conflicts are rare so txns do not need to first
acquire locks on database objects and instead check for conflicts at commit time.
26
![Page 65: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/65.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)
Shrinking Phase
LOCK(A) LOCK(B)
Growing Phase
![Page 66: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/66.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 67: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/67.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 68: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/68.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 69: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/69.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 70: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/70.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 71: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/71.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
27
Txn #2
BEGIN
COMMIT
LOCK(B) LOCK(A) WRITE(A) UNLOCK(A) UNLOCK(B)WRITE(B)
Txn #1
BEGIN
COMMIT
LOCK(A) LOCK(B) UNLOCK(A) UNLOCK(B)READ(A) WRITE(B)LOCK(A) LOCK(B)
![Page 72: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/72.jpg)
CMU 15-721 (Spring 2019)
TWO-PHASE LOCKING
Deadlock Detection→ Each txn maintains a queue of the txns that hold the locks
that it waiting for.→ A separate thread checks these queues for deadlocks.→ If deadlock found, use a heuristic to decide what txn to
kill in order to break deadlock.
Deadlock Prevention→ Check whether another txn already holds a lock when
another txn requests it.→ If lock is not available, the txn will either (1) wait, (2)
commit suicide, or (3) kill the other txn.
28
![Page 73: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/73.jpg)
CMU 15-721 (Spring 2019)
TIMESTAMP ORDERING
Basic T/O→ Check for conflicts on each read/write.→ Copy tuples on each access to ensure repeatable reads.
Optimistic Currency Control (OCC)→ Store all changes in private workspace.→ Check for conflicts at commit time and then merge.
29
![Page 74: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/74.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
![Page 75: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/75.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
![Page 76: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/76.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10000
10000
10000
10001
![Page 77: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/77.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10000
10000
10000
10001
![Page 78: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/78.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
10000
10000
10001
![Page 79: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/79.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
10000
10000
10001
![Page 80: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/80.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
10001
10000
10001
![Page 81: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/81.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
10001
10005
10001
![Page 82: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/82.jpg)
CMU 15-721 (Spring 2019)
BASIC T/O
30
Record Read Timestamp
WriteTimestamp
A
B 10000
Txn #1
BEGIN
COMMIT
READ(A) WRITE(B) WRITE(A)
10001
10001
10005
10001
![Page 83: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/83.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
Timestamp-ordering scheme where txns copy data read/write into a private workspace that is not visible to other active txns.
When a txn commits, the DBMS verifies that there are no conflicts.
First proposed in 1981 at CMU by H.T. Kung.
31
ON OPTIMISTIC METHODS FOR CONCURRENCY CONTROLACM TRANSACTIONS ON DATABASE SYSTEMS 1981
![Page 84: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/84.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Record Value WriteTimestamp
B 456 10000
123A 10000
COMMIT
![Page 85: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/85.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Read PhaseRecord Value Write
Timestamp
B 456 10000
123A 10000
COMMIT
![Page 86: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/86.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Record Value WriteTimestamp
B 456 10000
123A 10000
COMMIT
![Page 87: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/87.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Workspace
Record Value WriteTimestamp
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000
COMMIT
![Page 88: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/88.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Workspace
Record Value WriteTimestamp
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000
COMMIT
![Page 89: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/89.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Workspace
Record Value WriteTimestamp
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞COMMIT
![Page 90: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/90.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞COMMIT
![Page 91: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/91.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B)
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞999 ∞
COMMIT
![Page 92: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/92.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B) VALIDATE PHASE WRITE PHASE
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞999 ∞
COMMIT
![Page 93: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/93.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B) VALIDATE PHASE WRITE PHASE
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞999 ∞
COMMIT
![Page 94: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/94.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B) VALIDATE PHASE WRITE PHASE
10001
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞999 ∞
COMMIT
![Page 95: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/95.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B) VALIDATE PHASE WRITE PHASE
10001
Workspace
Record Value WriteTimestamp
B 456 10000
123A 10000
Record Value WriteTimestamp
B 456 10000
123A 10000888 ∞999 ∞
COMMIT
888
999 10001
10001
![Page 96: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/96.jpg)
CMU 15-721 (Spring 2019)
OPTIMISTIC CONCURRENCY CONTROL
32
Txn #1
BEGIN
READ(A) WRITE(A) WRITE(B) VALIDATE PHASE WRITE PHASE
10001
Record Value WriteTimestamp
B 456 10000
123A 10000
COMMIT
888
999 10001
10001
![Page 97: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/97.jpg)
CMU 15-721 (Spring 2019)
OBSERVATION
When there is low contention, optimistic protocols perform better because the DBMS spends less time checking for conflicts.
At high contention, the both classes of protocols degenerate to essentially the same serial execution.
33
![Page 98: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/98.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL EVALUATION
Compare in-memory concurrency control protocols at high levels of parallelism.→ Single test-bed system.→ Evaluate protocols using core counts beyond what is
available on today's CPUs.
Running in extreme environments exposes what are the main bottlenecks in the DBMS.
34
STARING INTO THE ABYSS: AN EVALUATION OF CONCURRENCY CONTROL WITH ONE THOUSAND CORESVLDB 2014
![Page 99: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/99.jpg)
CMU 15-721 (Spring 2019)
1000-CORE CPU SIMUL ATOR
DBx1000 Database System→ In-memory DBMS with pluggable lock manager.→ No network access, logging, or concurrent indexes
MIT Graphite CPU Simulator→ Single-socket, tile-based CPU.→ Shared L2 cache for groups of cores.→ Tiles communicate over 2D-mesh network.
35
![Page 100: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/100.jpg)
CMU 15-721 (Spring 2019)
TARGET WORKLOAD
Yahoo! Cloud Serving Benchmark (YCSB)→ 20 million tuples→ Each tuple is 1KB (total database is ~20GB)
Each transactions reads/modifies 16 tuples.
Varying skew in transaction access patterns.
Serializable isolation level.
36
![Page 101: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/101.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL SCHEMES
37
DL_DETECTNO_WAITWAIT_DIE
2PL w/ Deadlock Detection2PL w/ Non-waiting Prevention2PL w/ Wait-and-Die Prevention
TIMESTAMPMVCCOCC
Basic T/O AlgorithmMulti-Version T/OOptimistic Concurrency Control
![Page 102: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/102.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL SCHEMES
37
DL_DETECTNO_WAITWAIT_DIE
2PL w/ Deadlock Detection2PL w/ Non-waiting Prevention2PL w/ Wait-and-Die Prevention
![Page 103: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/103.jpg)
CMU 15-721 (Spring 2019)
CONCURRENCY CONTROL SCHEMES
37
TIMESTAMPMVCCOCC
Basic T/O AlgorithmMulti-Version T/OOptimistic Concurrency Control
![Page 104: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/104.jpg)
CMU 15-721 (Spring 2019)
READ-ONLY WORKLOAD
38
![Page 105: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/105.jpg)
CMU 15-721 (Spring 2019)
WRITE-INTENSIVE / MEDIUM -CONTENTION
39
![Page 106: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/106.jpg)
CMU 15-721 (Spring 2019)
WRITE-INTENSIVE / HIGH -CONTENTION
40
![Page 107: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/107.jpg)
CMU 15-721 (Spring 2019)
WRITE-INTENSIVE / HIGH -CONTENTION
40
![Page 108: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/108.jpg)
CMU 15-721 (Spring 2019)
WRITE-INTENSIVE / HIGH -CONTENTION
40
![Page 109: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/109.jpg)
CMU 15-721 (Spring 2019)
BOT TLENECKS
Lock Thrashing→ DL_DETECT, WAIT_DIE
Timestamp Allocation→ All T/O algorithms + WAIT_DIE
Memory Allocations→ OCC + MVCC
41
![Page 110: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/110.jpg)
CMU 15-721 (Spring 2019)
LOCK THRASHING
Each txn waits longer to acquire locks, causing other txn to wait longer to acquire locks.
Can measure this phenomenon by removing deadlock detection/prevention overhead.→ Force txns to acquire locks in primary key order.→ Deadlocks are not possible.
42
![Page 113: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/113.jpg)
CMU 15-721 (Spring 2019)
TIMESTAMP ALLOCATION
Mutex→ Worst option.
Atomic Addition→ Requires cache invalidation on write.
Batched Atomic Addition→ Needs a back-off mechanism to prevent fast burn.
Hardware Clock→ Not sure if it will exist in future CPUs.
Hardware Counter→ Not implemented in existing CPUs.
44
![Page 114: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/114.jpg)
CMU 15-721 (Spring 2019)
TIMESTAMP ALLOCATION
45
![Page 115: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/115.jpg)
CMU 15-721 (Spring 2019)
MEMORY ALLOCATIONS
Copying data on every read/write access slows down the DBMS because of contention on the memory controller.→ In-place updates and non-copying reads are not affected
as much.
Default libc malloc is slow. Never use it.
46
![Page 116: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/116.jpg)
CMU 15-721 (Spring 2019)
OBSERVATION
Serializability is useful because it allows programmers to ignore concurrency issues but enforcing it may allow too little parallelism and limit performance.
We may want to use a weaker level of consistency to improve scalability.
47
![Page 117: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/117.jpg)
CMU 15-721 (Spring 2019)
ISOL ATION LEVELS
Controls the extent that a txn is exposed to the actions of other concurrent txns.
Provides for greater concurrency at the cost of exposing txns to uncommitted changes:→ Dirty Read Anomaly→ Unrepeatable Reads Anomaly→ Phantom Reads Anomaly
48
![Page 118: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/118.jpg)
CMU 15-721 (Spring 2019)
ANSI ISOL ATION LEVELS
SERIALIZABLE→ No phantoms, all reads repeatable, no dirty reads.
REPEATABLE READS→ Phantoms may happen.
READ COMMITTED→ Phantoms and unrepeatable reads may happen.
READ UNCOMMITTED→ All of them may happen.
49
![Page 119: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/119.jpg)
CMU 15-721 (Spring 2019)
ISOL ATION LEVEL HIERARCHY
50
REPEATABLE READS
READ UNCOMMITTED
SERIALIZABLE
READ COMMITTED
![Page 120: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/120.jpg)
CMU 15-721 (Spring 2019)
REAL-WORLD ISOL ATION LEVELS
51
Default Maximum
Actian Ingres SERIALIZABLE SERIALIZABLE
Greenplum READ COMMITTED SERIALIZABLE
IBM DB2 CURSOR STABILITY SERIALIZABLE
MySQL REPEATABLE READS SERIALIZABLE
MemSQL READ COMMITTED READ COMMITTED
MS SQL Server READ COMMITTED SERIALIZABLE
Oracle READ COMMITTED SNAPSHOT ISOLATION
Postgres READ COMMITTED SERIALIZABLE
SAP HANA READ COMMITTED SERIALIZABLE
VoltDB SERIALIZABLE SERIALIZABLESource: Peter Bailis
![Page 121: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/121.jpg)
CMU 15-721 (Spring 2019)
CRITICISM OF ISOL ATION LEVELS
The isolation levels defined as part of SQL-92 standard only focused on anomalies that can occur in a 2PL-based DBMS.
Two additional isolation levels:→ CURSOR STABILITY→ SNAPSHOT ISOLATION
52
A CRITIQUE OF ANSI SQL ISOLATION LEVELSSIGMOD 1995
![Page 122: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/122.jpg)
CMU 15-721 (Spring 2019)
CURSOR STABILIT Y (CS)
The DBMS’s internal cursor maintains a lock on a item in the database until it moves on to the next item.
CS is a stronger isolation level in between REPEATABLE READS and READ COMMITTED that can (sometimes) prevent the Lost Update Anomaly.
53
Source: Jepsen
![Page 123: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/123.jpg)
CMU 15-721 (Spring 2019)
LOST UPDATE ANOMALY
54
Txn #2
BEGIN
COMMIT
WRITE(A)
Txn #1
BEGIN
COMMIT
READ(A) WRITE(A)
![Page 124: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/124.jpg)
CMU 15-721 (Spring 2019)
LOST UPDATE ANOMALY
54
Txn #2
BEGIN
COMMIT
WRITE(A)
Txn #1
BEGIN
COMMIT
READ(A) WRITE(A)
![Page 125: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/125.jpg)
CMU 15-721 (Spring 2019)
LOST UPDATE ANOMALY
54
Txn #2
BEGIN
COMMIT
WRITE(A)
Txn #1
BEGIN
COMMIT
READ(A) WRITE(A)
![Page 126: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/126.jpg)
CMU 15-721 (Spring 2019)
LOST UPDATE ANOMALY
54
Txn #2
BEGIN
COMMIT
WRITE(A)
Txn #1
BEGIN
COMMIT
READ(A) WRITE(A)
![Page 127: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/127.jpg)
CMU 15-721 (Spring 2019)
LOST UPDATE ANOMALY
54
Txn #2’s write to A will be lost even though it commits after Txn #1.
Txn #2
BEGIN
COMMIT
WRITE(A)
Txn #1
BEGIN
COMMIT
READ(A) WRITE(A)
A cursor lock on Awould prevent this problem.
![Page 128: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/128.jpg)
CMU 15-721 (Spring 2019)
SNAPSHOT ISOL ATION (SI )
Guarantees that all reads made in a txn see a consistent snapshot of the database that existed at the time the txn started.→ A txn will commit under SI only if its writes do not
conflict with any concurrent updates made since that snapshot.
SI is susceptible to the Write Skew Anomaly
55
![Page 129: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/129.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 130: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/130.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 131: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/131.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 132: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/132.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 133: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/133.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 134: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/134.jpg)
CMU 15-721 (Spring 2019)
WRITE SKEW ANOMALY
56
Txn #1Change white marbles to black.
Txn #2Change black marbles to white.
![Page 135: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/135.jpg)
CMU 15-721 (Spring 2019)
ISOL ATION LEVEL HIERARCHY
57
REPEATABLE READS SNAPSHOT ISOLATION
READ UNCOMMITTED
CURSOR STABILITY
SERIALIZABLE
READ COMMITTED
![Page 136: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/136.jpg)
CMU 15-721 (Spring 2019)
ISOL ATION LEVEL HIERARCHY
57
REPEATABLE READS SNAPSHOT ISOLATION
READ UNCOMMITTED
CURSOR STABILITY
SERIALIZABLE
READ COMMITTED
![Page 137: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/137.jpg)
CMU 15-721 (Spring 2019)
PARTING THOUGHTS
Transactions are hard.Transactions are awesome.
Things get even more wild when we add more internal components to the DBMS:→ Indexes→ Triggers→ Catalogs→ Sequences→ Materialized Views
58
![Page 138: ADVANCED 2 DATABASE SYSTEMS - CMU 15-721Extract Transform Load OLTP Data Silos OLAP Data Warehouse Transactions Analytical Queries. CMU 15-721 (Spring 2019) BIFURCATED ENVIRONMENT](https://reader034.vdocuments.net/reader034/viewer/2022051511/601395e536a2145be4564b87/html5/thumbnails/138.jpg)
CMU 15-721 (Spring 2019)
NEXT CL ASS
Multi-Version Concurrency Control
59