salt - usenix...combining acid and base! in a distributed database chao xie, chunzhi su, manos...
TRANSCRIPT
![Page 1: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/1.jpg)
Combining ACID and BASE!in a distributed database
Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang,!Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan
Salt
The University of Texas at Austin
![Page 2: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/2.jpg)
Four properties in a single abstraction
• Ease of programming
• Easy to reason about
TRANSACTIONS ARE GREAT
Atomicity Consistency Isolation Durability (ACID)
Transaction
![Page 3: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/3.jpg)
TRANSACTIONS ARE GREAT
Concurrency control!limits performance
2PC protocol is costly
Txn Manager Data Nodes
Write(x)
Commit
Write(y)Phase 1
Phase 2
����
![Page 4: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/4.jpg)
THE ALTERNATIVE: BASE
Application
ACID Storage Transaction Guarantees
Storage Interface
![Page 5: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/5.jpg)
• Write custom code to get better performance
THE ALTERNATIVE: BASE
Application
BASE Storage (e.g., put, get)Storage Interface
![Page 6: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/6.jpg)
• Write custom code to get better performance
• Complexity gets out of control
THE ALTERNATIVE: BASE
Application
BASE Storage (e.g., put, get)
Application Implement Consistency
Storage Interface
![Page 7: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/7.jpg)
A STARK CHOICE
Performance
Ease of programming
Ease of programming & Performance
ACID
BASE
![Page 8: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/8.jpg)
20% of the causes!account for!
80% of the effects
Vilfredo Pareto
![Page 9: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/9.jpg)
NOT ALL TRANSACTIONS ARE CREATED EQUAL
•Many transactions are not run frequently•Many transactions are lightweight
20% of the causes!account for!
80% of the effects
![Page 10: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/10.jpg)
AN OPPORTUNITY
Txn 1 Txn 2•Identify critical transactions
•BASE-ify only critical transactions
BASE
![Page 11: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/11.jpg)
SALT
Motivation!
Base Transactions & Salt Isolation!
Achieving Salt Isolation!
Evaluation
![Page 12: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/12.jpg)
Transfer
Is c≥$10?
c=c-$10
s=s+$10
MORE CONCURRENCY !Transfer
Part1
Is c≥$10?
c=c-$10
Part2
s=s+$10
![Page 13: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/13.jpg)
Transfer
Is c≥$10?
c=c-$10
s=s+$10
Transfer
Is c≥$10?
c=c-$10
s=s+$10
MORE CONCURRENCY !Transfer
Part1
Is c≥$10?
c=c-$10
Part2
s=s+$10
Transfer
Part1
Is c≥$10?
c=c-$10
Part2
s=s+$10
Time
![Page 14: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/14.jpg)
Transfer
Is c≥$10?
c=c-$10
s=s+$10
CORRECTNESS AT RISK
Read c
Read s
Balance
![Page 15: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/15.jpg)
Part2
s=s+$10
Part1
Is c≥$10?
c=c-$10
CORRECTNESS AT RISKTransfer
Read c
Read s
BalanceExposed !
state
![Page 16: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/16.jpg)
Part2
s=s+$10
Finer Isolation for one transaction!may affect all transactions!!
Part1
Is c≥$10?
c=c-$10
CORRECTNESS AT RISK
Read c
Read s
Balance
![Page 17: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/17.jpg)
Performance vs Complexity
Better Performance
More Interleavings!
More Complexity
![Page 18: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/18.jpg)
Performance vs Complexity
Better Performance
Other Transactions Unaffected
More Interleavings !(only among perf-critical txns)
![Page 19: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/19.jpg)
s=s+$10
Is c≥$10?
c=c-$10
Behaves differently when interacting with different transactions
Balance
Read c
Read s
Transfer 2
Is c≥$10?
c=c-$10
s=s+$10
Transfer 1
![Page 20: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/20.jpg)
Balance
Read c
Read s
Time
Transfer 2
Is c≥$10?
c=c-$10
s=s+$10
Transfer 1
Is c≥$10?
c=c-$10
s=s+$10
![Page 21: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/21.jpg)
BASE TRANSACTIONBASE
transaction
alkaline txn
alkaline txn
Behaves differently when interacting with different transactions
![Page 22: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/22.jpg)
BASE INTERACT WITH BASE
Fine Isolation granularity!between BASE transactions
BASE 1
BASE 2
![Page 23: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/23.jpg)
BASE INTERACT WITH BASE
Fine Isolation granularity!between BASE transactions
![Page 24: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/24.jpg)
BASE
BASE INTERACT WITH ACID
ACID
BASE transactions provide coarse Isolation!granularity to ACID transactions
![Page 25: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/25.jpg)
BASE
BASE INTERACT WITH ACIDACID
BASE transactions provide coarse Isolation!granularity to ACID transactions
![Page 26: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/26.jpg)
SALT ISOLATION
Performance & Ease of Programming
BASE transactions: multiple granularities of Isolation
To ACID transactions:!a single, monolithic !ACID transaction
To BASE transactions:!a sequence of small !ACID transactions
![Page 27: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/27.jpg)
SALT
Motivation!
Base Transactions & Salt Isolation!
Achieving Salt Isolation!
Evaluation
![Page 28: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/28.jpg)
ONE MECHANISM
LOCKS
ACID locks!Alkaline locks!Saline locks
Three flavors
![Page 29: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/29.jpg)
ACID LOCKS
Lock Table
ACID 1
Write xAC-R AC-W
AC-R √ XAC-W X XACID 2
Read x
Execute
![Page 30: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/30.jpg)
LOCKS?
ACID
Rx
BASE
Rx
Execute
Execute
BASE
Wx
![Page 31: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/31.jpg)
LOCKS?
ACID
Rx
BASE
Rx
Execute
Execute
alkaline lock
saline lock
BASE
Wx
![Page 32: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/32.jpg)
ALKALINE LOCKS
AC-R AC-W alk-R alk-W
AC-R √ X √ XAC-W X X X Xalk-R √ X √ Xalk-W X X X X
ACID
Rx
BASE
Rx
Lock Table
alkaline lock
Wait Wait
BASE
Wx
Conflict with ACID & alkaline locks
![Page 33: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/33.jpg)
SALINE LOCKS
ACID
Rx
Wait
saline lock
AC-R AC-W alk-R alk-W sal-R sal-W
AC-R √ X √ X √ XAC-W X X X X X Xalk-R √ X √ Xalk-W X X X Xsal-R √ Xsal-W X X
Lock Table
AC-R AC-W alk-R alk-W sal-R sal-W
AC-R √ X √ X √ XAC-W X X X X X Xalk-R √ X √ X √ √alk-W X X X X √ √sal-R √ X √ √ √ √sal-W X X √ √ √ √
Lock Table
BASE
Wx
Conflict only with ACID locks
![Page 34: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/34.jpg)
A SUBTLE PROBLEM
ACID reads uncommitted value of x!
BASE
W x BASE
R x
y=x
ACID
R y
Dirty Read!
![Page 35: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/35.jpg)
A SUBTLE PROBLEM
For the solution, please read our paper
BASE
W x BASE
R x
y=x
ACID
R y
Dirty Read!
![Page 36: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/36.jpg)
THE BOTTOM LINE
Guarantee!
Salt prevents all ACID transactions from being affected by BASE transactions either directly or indirectly.
![Page 37: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/37.jpg)
SALT
Motivation!
Base Transactions & Salt Isolation!
Achieving Salt Isolation!
Evaluation
![Page 38: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/38.jpg)
What is the performance gain of Salt compared to ACID?
Can we get most performance gain compared to the BASE approach?
QUESTIONS TO ANSWER
![Page 39: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/39.jpg)
EXPERIMENTAL SETUPConfiguration!
• Emulab Cluster (Dell Power Edge R710)!• 10 shards, 3-way replicated!
Workloads!• TPC-C!• Fusion Ticket!• Microbenchmarks
![Page 40: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/40.jpg)
PERFORMANCE GAIN
250
Late
ncy
(ms) 200
150100
500
Fusion Ticket
0 1000 2000 3000 4000 5000 6000 7000 8000
Throughput (transactions/sec)
ACID Salt
6.5X
![Page 41: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/41.jpg)
REAP MOST PERFORMANCE OF BASEFusion Ticket
Thro
ughp
ut (t
rans
actio
ns/se
c) 100008000600040002000
0
Number of BASE-ified transactions
ACID 1 2 Raw ops
… …
3
6.5X 7.2X
![Page 42: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/42.jpg)
RELATED WORK
Optimizing ACID Performance!• H-Store, Granola, F1, Sagas, Transaction Chain, Calvin …!
!
BASE with enhanced semantics (e.g., partition local transactions)!• ElasTras, G-Store, Megastore …
![Page 43: Salt - USENIX...Combining ACID and BASE! in a distributed database Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, ! Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan Salt The University](https://reader036.vdocuments.us/reader036/viewer/2022071604/613f7311f0f55d448e4ccd40/html5/thumbnails/43.jpg)
SALT
Key Abstraction!Base Transaction
Pain Point Transactional systems !
do not scale
Promising!Results