SlideShare a Scribd company logo
Database High Availability Using SHADOW
Systems
Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee,
Ashraf Aboulnaga, and Xin Pan
University of Waterloo
SoCC 2015
SHADOW Hot Standby HA for Cloud
How can we exploit
shared persistent storage
to build better
highly available database systems?
2
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
Example DBMS Setting
x DBMS
bu↵er pool
Log DB
C
4
Standalone Restart Recovery
x DBMS
bu↵er pool
Log DB
C
node
failure
4
Standalone Restart Recovery
x DBMS
bu↵er pool
Log DB
C
restart recovery
4
Typical Shared-Nothing Hot Standby
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
x
C C
5
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
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
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
Typical Hot Standby High Availability
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
6
Shared Storage in Cloud Settings
Storage in Cloud?
Active DBMS
bu↵er pool
Log DB
Standby DBMS
bu↵er pool
Log DB
6
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
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
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
SHADOW: Single Logical Log
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
DB DBLogLog
async rep
Single Logical Log
7
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
SHADOW: Hot Standby HA for Cloud
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x
DBLog
SHADOW High Availability
7
SHADOW: Hot Standby HA for Cloud
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x
DBLog
C
7
SHADOW: Node Failure and Failover
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
DBLog
C
7
SHADOW: Node Failure and Failover
Active DBMS
bu↵er pool
Standby DBMS
bu↵er pool
x node
failure
failover
DBLog
C
7
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
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
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
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
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
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
TPC-C Benchmark Throughtput
0
10000
20000
30000
40000
50000
60000
SAD SA10 SA
Throughput(tpmC)
Standalone
Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload
database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56)
9
TPC-C Benchmark Throughtput
0
10000
20000
30000
40000
50000
60000
SAD SA10 SA SR
Throughput(tpmC)
Standalone
Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload
database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56)
Hot Standby
9
TPC-C Benchmark Throughtput
0
10000
20000
30000
40000
50000
60000
SAD SA10 SA SR SHADOW
Throughput(tpmC)
Standalone
Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload
database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56)
Hot Standby
9
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
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
Mahalo!
12

More Related Content

PPTX
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
PDF
AppOS: PostgreSQL Extension for Scalable File I/O @ PGConf.Asia 2019
PDF
In-core compression: how to shrink your database size in several times
PDF
Advanced backup methods (Postgres@CERN)
PDF
Tuning Linux for Databases.
PDF
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PPTX
Streaming replication in PostgreSQL
PDF
Case Studies on PostgreSQL
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
AppOS: PostgreSQL Extension for Scalable File I/O @ PGConf.Asia 2019
In-core compression: how to shrink your database size in several times
Advanced backup methods (Postgres@CERN)
Tuning Linux for Databases.
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
Streaming replication in PostgreSQL
Case Studies on PostgreSQL

What's hot (20)

PPTX
Building Spark as Service in Cloud
PDF
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
PDF
Out of the box replication in postgres 9.4
PDF
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PPTX
Oracle: Binding versus caging
KEY
PostgreSQL
ODP
Clug 2011 March web server optimisation
PPTX
W1.1 i os in database
PDF
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
PDF
Как PostgreSQL работает с диском
PDF
Toro DB- Open-source, MongoDB-compatible database, built on top of PostgreSQL
PDF
HBase 0.20.0 Performance Evaluation
PDF
Managing PostgreSQL with PgCenter
PPTX
HBase at Flurry
PDF
NoSQL 동향
PDF
Multimaster
PDF
Deep dive into PostgreSQL statistics.
PDF
Out of the box replication in postgres 9.4(pg confus)
PDF
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
PDF
Troubleshooting PostgreSQL Streaming Replication
Building Spark as Service in Cloud
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
Out of the box replication in postgres 9.4
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
Oracle: Binding versus caging
PostgreSQL
Clug 2011 March web server optimisation
W1.1 i os in database
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
Как PostgreSQL работает с диском
Toro DB- Open-source, MongoDB-compatible database, built on top of PostgreSQL
HBase 0.20.0 Performance Evaluation
Managing PostgreSQL with PgCenter
HBase at Flurry
NoSQL 동향
Multimaster
Deep dive into PostgreSQL statistics.
Out of the box replication in postgres 9.4(pg confus)
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Troubleshooting PostgreSQL Streaming Replication
Ad

Similar to Database High Availability Using SHADOW Systems (20)

PDF
Oracle database high availability solutions
PPTX
re:Invent 2022 DAT316 Build resilient applications using Amazon RDS and Auror...
PDF
Guaranteed Availability of Cloud Data with Efficient Cost
PDF
AN AUTOMATED APPROACH TO CLOUD STORAGE SERVICE SELECTION.pdf
PDF
Creating customized openSUSE versions with SUSE Studio
PPTX
How to Design for Database High Availability
 
PDF
Data Replication Options in AWS
PDF
A FILE STORAGE SERVICE ON A CLOUD COMPUTING ENVIRONMENT FOR DIGITAL.pdf
PDF
KoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLA
PDF
Educational seminar lessons learned from customer db2 for z os health check...
PDF
Webinar slides: Designing Open Source Databases for High Availability
PDF
Thinking about highly-available systems and their setup
PPTX
Deploying High Availability and Business Resilient R12 Applications over the ...
DOCX
Mis cloud computing
PDF
PostgreSQL Scaling And Failover
PDF
A Study on Replication and Failover Cluster to Maximize System Uptime
PDF
Replication Solutions for PostgreSQL
PPTX
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
PPTX
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
PPTX
Db spof(mssql, my sql)
Oracle database high availability solutions
re:Invent 2022 DAT316 Build resilient applications using Amazon RDS and Auror...
Guaranteed Availability of Cloud Data with Efficient Cost
AN AUTOMATED APPROACH TO CLOUD STORAGE SERVICE SELECTION.pdf
Creating customized openSUSE versions with SUSE Studio
How to Design for Database High Availability
 
Data Replication Options in AWS
A FILE STORAGE SERVICE ON A CLOUD COMPUTING ENVIRONMENT FOR DIGITAL.pdf
KoprowskiT_SQLSat152_Bulgaria_HighAvailabilityOfSQLintheContextOfSLA
Educational seminar lessons learned from customer db2 for z os health check...
Webinar slides: Designing Open Source Databases for High Availability
Thinking about highly-available systems and their setup
Deploying High Availability and Business Resilient R12 Applications over the ...
Mis cloud computing
PostgreSQL Scaling And Failover
A Study on Replication and Failover Cluster to Maximize System Uptime
Replication Solutions for PostgreSQL
AWS DevDay Vienna - Resiliency and availability design patterns for the cloud
AWS DevDay Cologne - Resiliency and availability design patterns for the cloud
Db spof(mssql, my sql)
Ad

More from Jaemyung Kim (6)

PDF
Write Amplification: An Analysis of In-Memory Database Durability Techniques
PDF
Reducing Cache Misses in Hash Join Probing Phase by Pre-sorting Strategy
PDF
Altibase DSM: CTable for Pull-based Processing in SPE
PDF
Implementation of Bitmap based Incognito and Performance Evaluation
PDF
IPL 기법의 인덱스 연산 분석
PDF
정보과학회 FTL논문 아이디어
Write Amplification: An Analysis of In-Memory Database Durability Techniques
Reducing Cache Misses in Hash Join Probing Phase by Pre-sorting Strategy
Altibase DSM: CTable for Pull-based Processing in SPE
Implementation of Bitmap based Incognito and Performance Evaluation
IPL 기법의 인덱스 연산 분석
정보과학회 FTL논문 아이디어

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Nekopoi APK 2025 free lastest update
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
System and Network Administration Chapter 2
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Nekopoi APK 2025 free lastest update
Operating system designcfffgfgggggggvggggggggg
How to Migrate SBCGlobal Email to Yahoo Easily
2025 Textile ERP Trends: SAP, Odoo & Oracle
Design an Analysis of Algorithms II-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
System and Network Administration Chapter 2
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Computer Software and OS of computer science of grade 11.pptx
Design an Analysis of Algorithms I-SECS-1021-03
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
VVF-Customer-Presentation2025-Ver1.9.pptx
PTS Company Brochure 2025 (1).pdf.......
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Reimagine Home Health with the Power of Agentic AI​
Softaken Excel to vCard Converter Software.pdf
Digital Strategies for Manufacturing Companies
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025

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
  • 4. Example DBMS Setting x DBMS bu↵er pool Log DB C 4
  • 5. Standalone Restart Recovery x DBMS bu↵er pool Log DB C node failure 4
  • 6. Standalone Restart Recovery x DBMS bu↵er pool Log DB C restart recovery 4
  • 7. Typical Shared-Nothing Hot Standby Active DBMS bu↵er pool Log DB Standby DBMS bu↵er pool Log DB x C C 5
  • 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
  • 28. TPC-C Benchmark Throughtput 0 10000 20000 30000 40000 50000 60000 SAD SA10 SA Throughput(tpmC) Standalone Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56) 9
  • 29. TPC-C Benchmark Throughtput 0 10000 20000 30000 40000 50000 60000 SAD SA10 SA SR Throughput(tpmC) Standalone Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56) Hot Standby 9
  • 30. TPC-C Benchmark Throughtput 0 10000 20000 30000 40000 50000 60000 SAD SA10 SA SR SHADOW Throughput(tpmC) Standalone Amazon EC2 c3.4xlarge instances, 100WH TPC-C workload database fits in memory (PostgreSQL 9.3, Linux kernel 3.2.0-56) Hot Standby 9
  • 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