The document presents SHADOW, a system for providing high availability of databases using shared persistent storage in cloud environments. SHADOW maintains a single logical copy of the database and log across active and standby database management systems. It pushes the responsibility for data replication into the underlying storage tier. This decouples database replication from replication at the DBMS level. The document evaluates SHADOW against standalone and synchronous replication baselines using the TPC-C benchmark. SHADOW outperforms the other approaches and provides more stable throughput over time by offloading write operations and exploiting data sharing across nodes. However, its replication is limited by the scope of the shared storage.
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Database High Availability Using SHADOW Systems
1. Database High Availability Using SHADOW
Systems
Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee,
Ashraf Aboulnaga, and Xin Pan
University of Waterloo
SoCC 2015
2. SHADOW Hot Standby HA for Cloud
How can we exploit
shared persistent storage
to build better
highly available database systems?
2
3. Overview
1 Standalone and Hot Standby Failure Handling
2 Shared Storage in Cloud Settings
3 SHADOW: Hot Standby HA for Cloud
4 Performance Evaluation
5 Conclusion
3
8. Hot Standby Failure and Failover
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
x node
failure
C C
5
9. Hot Standby Failure and Failover
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
x node
failure
failover
C C
5
10. Hot Standby Is Widely Used
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
x node
failure
C C
5
11. Typical Hot Standby High Availability
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
6
12. Shared Storage in Cloud Settings
Storage in Cloud?
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
6
13. Shared Storage in Cloud Settings
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
Persistent Storage = Reliable Shared Storage
6
14. Shared Storage in Cloud Settings
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
How can we exploit shared persistent storage
to build better highly available database systems?
6
15. SHADOW: Hot Standby HA for Cloud
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
DB DBLog Log
Recycled Hot Standby HA in Cloud
7
16. SHADOW: Single Logical Log
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
DB DBLogLog
async rep
Single Logical Log
7
17. SHADOW: Single Logical Database
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
DB DBLogLog
Xwrite-o✏oading coordinated
checkpoint
Single Logical Database
7
18. SHADOW: Hot Standby HA for Cloud
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x
DBLog
SHADOW High Availability
7
19. SHADOW: Hot Standby HA for Cloud
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x
DBLog
C
7
20. SHADOW: Node Failure and Failover
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
7
21. SHADOW: Node Failure and Failover
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
failover
DBLog
C
7
22. Advantages of SHADOW HA
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
Simplicity: pushes responsibility for durability
and replication into the storage system
7
23. Advantages of SHADOW HA
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
Simplicity: pushes responsibility for durability
and replication into the storage system
Flexibility: decouples database replication from
DBMS replication
7
24. Advantages of SHADOW HA
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
Simplicity: pushes responsibility for durability
and replication into the storage system
Flexibility: decouples database replication from
DBMS replication
Performance: write-o✏oading (logging and
checkpointing)
7
25. Advantages of SHADOW HA
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
Simplicity: pushes responsibility for durability
and replication into the storage system
Flexibility: decouples database replication from
DBMS replication
Performance: write-o✏oading (logging and
checkpointing)
E ciency: less I/O bandwidth
7
26. Advantages of SHADOW HA
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
Simplicity: pushes responsibility for durability
and replication into the storage system
Flexibility: decouples database replication from
DBMS replication
Performance: write-o✏oading (logging and
checkpointing)
E ciency: less I/O bandwidth
7
27. Experimental Methodology
Compare SHADOW System with two baselines
Standalone (SA): single DBMS with restart recovery (varying
checkpint interval)
Synchronous Replication (SR): two replicated DBMSes (native
PostgreSQL implementation)
TPC-C Benchmark (100 Warehouses), no think time
PostgreSQL 9.3 (database fits in memory)
Linux kernel 3.2.0-56
Amazon EC2 with Elastic Block Store (EBS)
8
31. Variability of TPC-C Throughput
0
10000
20000
30000
40000
50000
60000
SAD SA10 SA
tpmC
Standalone
Box-and-whisker plot (Q1,Q2,Q3)
Ten second interval (new order transactions per second x 60))
0
10000
20000
30000
40000
50000
60000
SAD SA10 SA SR SHADOW
tpmC
Hot Standby
10
32. Conclusion
SHADOW Hot Standby HA for Cloud
How to exploit shared storage to build better high available
database systems?
Single logical copy of the database and log
Pushes responsibility for replication out of the DBMS and into
the underlying storage tier
Decouples database replication from DBMS replication
Outperforms PostgreSQL’s native replication on a TPC-C
benchmark
Stabler throughput(tpmC) over time
Geographical limitation
Replication coverage is limited to shared storage coverage
11