SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
DAX: A Widely Distributed Multi-tenant
Storage Service for DBMS Hosting
Rui Liu, Ashraf Aboulnaga, Kenneth Salem
University of Waterloo
RDBMS in the Cloud
● Many cloud/non-cloud applications use
relational DBMS
○ easy-to-use
○ robust apps
○ good performance
○ possibility of scale-out (e.g., by sharding)
DBMS Setting in Cloud
Storage service
DB Log
DBMS
● Data and log are stored in network accessible
storage
● On failure, a new DBMS is launched
DBMS Setting in Cloud
Storage service
DB Log
DBMS
● Data and log are stored in network accessible
storage
● On failure, a new DBMS is launched
DBMS Setting in Cloud
Storage service
DB Log
DBMS DBMS
● Data and log are stored in network accessible
storage
● On failure, a new DBMS is launched
Data Center
Disaster Tolerance
● Current solutions: log shipping, storage
mirror or backup
○ Complex
○ Slow (synchronous)
○ Or, lost data (asynchronous)
Storage service
DB Log
DBMS
Data Center
Storage service
DB Log
DBMSLog Shipping
Mirror/Backup
OR
Our Solution
Disaster tolerant storage for DBMS Hosting
DBMS DBMS
App AppApp App
Data Center
Storage service
DBMS DBMS
App AppApp App
Data Center
Storage service
DAX
Distributed Application-controlled
Consistent Store
● Block I/O interface to DBMS
● Quorum-based, multi-
master replication
● distributed, replicated “key-
value store”
○ block ID ⇒ key
○ block contents ⇒ value
DAX client library
DBMS
DAX
Baseline: Quorum Reads and Writes
● Block replication: N times across DAX
servers
○ servers and copies cover all data center
● Reads and writes
○ Read: request N copies, return after 1 ≤ R ≤ N
○ Write: request N copies, return after 1 ≤ W ≤ N
● R = W = N/2 +1
○ replicas distributed across data centers
○ write quorum includes at least one remote replica
Local Read and Write Latencies
●N = 3, in a single data center
●Consistency penalty: waiting for more replicas is
slower
Wide-Area Read and Write Latencies
●N = 3, copies in Oregon and Virginia
●Much larger consistency penalty!
Goal of DAX
● Achieve the performance of R=1/W=1 while
maintaining consistency, durability, and
availability
Contributions
● Performance optimization
○ Optimistic I/O - reduce read latency
○ Client-managed durability - hide write latency
● Novel consistency guarantee
Optimistic I/O
● Key observation
With R=W=1, most reads do not return stale data
○ Single writer
○ DBMS buffer pool
○ Parallel writes
○ Network topology
● Solution
R=W=1, detect stale data, recover from it
○ record data block version numbers; check against
record when reading
Client-Managed Durability
● Key observations
○ Transaction semantics dictate when writes
must be safe (Durable) and when the DBMS
can tolerate unsafe writes
○ Database systems explicitly enforce data
durability at necessary points
■ Durable means “replicated W times”
Client-Managed Durability
● DAX has two kinds of writes
○ Data write, without durability guarantee
○ Synchronized write that ensures durability of previous
writes
● DBMS issues the synchronized write only
when its transaction protocols demand it
● Time between data write and synchronized
write enables latency hiding
Consistency in DAX
● Key idea: make DAX look like an
unreplicated storage system with explicit
synchronization points for updates
○ DAX’s clients (DBMS) are designed to work with this
model
● Two guarantees:
○ DBMS sees the latest version as long as it is up
○ Exactly one version survives a database failure; it is
the latest synchronized version, or later
Consistency Example
●Which write should each read see?
●R1 must see W3
●R2 can see W1, W2, or W3
●R3 must see the version seen by R2
Experiment Configurations
●9 DAX servers
●6 replicas distributed in
1 EC2 region
(1 zone)
3 EC2 regions
r1 r2 r3 r4 r5
DBMS
r6
DBMS
Virginia California Oregon
r1 r2 r3 r4 r5 r6
Throughput with DAX
MySQL and DAX in Amazon EC2
TPC-C Workload - 9 DAX Nodes
Summary
● DAX: disaster-tolerant storage for DBMS
hosting
○ Scalable in storage capacity, bandwidth and the
number of database tenants
● Data replication across data centers
● Optimistic I/O and client-managed durability
to reduce request latencies
● DBMS-appropriate consistency guarantee,
even across failures

Mais conteúdo relacionado

Mais procurados

How Incremental Compaction Reduces Your Storage Footprint
How Incremental Compaction Reduces Your Storage FootprintHow Incremental Compaction Reduces Your Storage Footprint
How Incremental Compaction Reduces Your Storage FootprintScyllaDB
 
Gluster fs hadoop_fifth-elephant
Gluster fs hadoop_fifth-elephantGluster fs hadoop_fifth-elephant
Gluster fs hadoop_fifth-elephantGluster.org
 
System Design & Scalability
System Design & ScalabilitySystem Design & Scalability
System Design & ScalabilityJohn DiFini
 
Replication and rebuild in cStor
Replication and rebuild in cStorReplication and rebuild in cStor
Replication and rebuild in cStorOpenEBS
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisOpenEBS
 
Avoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleAvoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleScyllaDB
 
Erasure codes and storage tiers on gluster
Erasure codes and storage tiers on glusterErasure codes and storage tiers on gluster
Erasure codes and storage tiers on glusterRed_Hat_Storage
 
Elasticsearch avoiding hotspots
Elasticsearch  avoiding hotspotsElasticsearch  avoiding hotspots
Elasticsearch avoiding hotspotsChristophe Marchal
 
Caffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelCaffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelSri Ambati
 
Redis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HARedis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HADave Nielsen
 
Dustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveDustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveGluster.org
 
Lisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionLisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionGluster.org
 
Data Management in Cloud Platforms
Data Management in Cloud PlatformsData Management in Cloud Platforms
Data Management in Cloud Platformsshnkoc
 
State of the_gluster_-_lceu
State of the_gluster_-_lceuState of the_gluster_-_lceu
State of the_gluster_-_lceuGluster.org
 
Dynamo db and Cross Region Migration
Dynamo db and Cross Region MigrationDynamo db and Cross Region Migration
Dynamo db and Cross Region MigrationAnamika Gupta
 
How to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadHow to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadScyllaDB
 

Mais procurados (20)

How Incremental Compaction Reduces Your Storage Footprint
How Incremental Compaction Reduces Your Storage FootprintHow Incremental Compaction Reduces Your Storage Footprint
How Incremental Compaction Reduces Your Storage Footprint
 
Gluster fs hadoop_fifth-elephant
Gluster fs hadoop_fifth-elephantGluster fs hadoop_fifth-elephant
Gluster fs hadoop_fifth-elephant
 
System Design & Scalability
System Design & ScalabilitySystem Design & Scalability
System Design & Scalability
 
Replication and rebuild in cStor
Replication and rebuild in cStorReplication and rebuild in cStor
Replication and rebuild in cStor
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for Redis
 
Avoiding Data Hotspots at Scale
Avoiding Data Hotspots at ScaleAvoiding Data Hotspots at Scale
Avoiding Data Hotspots at Scale
 
Dedupe nmamit
Dedupe nmamitDedupe nmamit
Dedupe nmamit
 
Erasure codes and storage tiers on gluster
Erasure codes and storage tiers on glusterErasure codes and storage tiers on gluster
Erasure codes and storage tiers on gluster
 
Elasticsearch avoiding hotspots
Elasticsearch  avoiding hotspotsElasticsearch  avoiding hotspots
Elasticsearch avoiding hotspots
 
Caffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelCaffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noel
 
Redis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HARedis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HA
 
Redis Beyond
Redis BeyondRedis Beyond
Redis Beyond
 
Dustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveDustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep Dive
 
Lisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionLisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introduction
 
Data Management in Cloud Platforms
Data Management in Cloud PlatformsData Management in Cloud Platforms
Data Management in Cloud Platforms
 
YDAL Barcelona
YDAL BarcelonaYDAL Barcelona
YDAL Barcelona
 
State of the_gluster_-_lceu
State of the_gluster_-_lceuState of the_gluster_-_lceu
State of the_gluster_-_lceu
 
Dynamo db and Cross Region Migration
Dynamo db and Cross Region MigrationDynamo db and Cross Region Migration
Dynamo db and Cross Region Migration
 
How to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another WorkloadHow to Meet Your P99 Goal While Overcommitting Another Workload
How to Meet Your P99 Goal While Overcommitting Another Workload
 
Introduce to spark
Introduce to sparkIntroduce to spark
Introduce to spark
 

Semelhante a DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting

Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Junping Du
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateDataWorks Summit
 
Challenges with Gluster and Persistent Memory with Dan Lambright
Challenges with Gluster and Persistent Memory with Dan LambrightChallenges with Gluster and Persistent Memory with Dan Lambright
Challenges with Gluster and Persistent Memory with Dan LambrightGluster.org
 
Scalability broad strokes
Scalability   broad strokesScalability   broad strokes
Scalability broad strokesGagan Bajpai
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldSage Weil
 
Initial presentation of swift (for montreal user group)
Initial presentation of swift (for montreal user group)Initial presentation of swift (for montreal user group)
Initial presentation of swift (for montreal user group)Marcos García
 
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...Redis Labs
 
Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018Orit Wasserman
 
Webinar: NAS Refresh? – 5 Reasons to Consider the Cloud
Webinar: NAS Refresh? – 5 Reasons to Consider the CloudWebinar: NAS Refresh? – 5 Reasons to Consider the Cloud
Webinar: NAS Refresh? – 5 Reasons to Consider the CloudStorage Switzerland
 
Building zero data loss pipelines with apache kafka
Building zero data loss pipelines with apache kafkaBuilding zero data loss pipelines with apache kafka
Building zero data loss pipelines with apache kafkaAvinash Ramineni
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2aspyker
 
An Introduction to Apache Cassandra
An Introduction to Apache CassandraAn Introduction to Apache Cassandra
An Introduction to Apache CassandraSaeid Zebardast
 
Gluster dev session #6 understanding gluster's network communication layer
Gluster dev session #6  understanding gluster's network   communication layerGluster dev session #6  understanding gluster's network   communication layer
Gluster dev session #6 understanding gluster's network communication layerPranith Karampuri
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practicesOmid Vahdaty
 
Simplifying Disaster Recovery with Delta Lake
Simplifying Disaster Recovery with Delta LakeSimplifying Disaster Recovery with Delta Lake
Simplifying Disaster Recovery with Delta LakeDatabricks
 
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Rick Hwang
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSJohn McCormack
 

Semelhante a DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting (20)

Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community Update
 
Challenges with Gluster and Persistent Memory with Dan Lambright
Challenges with Gluster and Persistent Memory with Dan LambrightChallenges with Gluster and Persistent Memory with Dan Lambright
Challenges with Gluster and Persistent Memory with Dan Lambright
 
Scalability broad strokes
Scalability   broad strokesScalability   broad strokes
Scalability broad strokes
 
Ceph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud worldCeph data services in a multi- and hybrid cloud world
Ceph data services in a multi- and hybrid cloud world
 
Initial presentation of swift (for montreal user group)
Initial presentation of swift (for montreal user group)Initial presentation of swift (for montreal user group)
Initial presentation of swift (for montreal user group)
 
Dynomite @ Redis Conference 2016
Dynomite @ Redis Conference 2016Dynomite @ Redis Conference 2016
Dynomite @ Redis Conference 2016
 
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...
Dynomite: A Highly Available, Distributed and Scalable Dynamo Layer--Ioannis ...
 
Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018
 
Webinar: NAS Refresh? – 5 Reasons to Consider the Cloud
Webinar: NAS Refresh? – 5 Reasons to Consider the CloudWebinar: NAS Refresh? – 5 Reasons to Consider the Cloud
Webinar: NAS Refresh? – 5 Reasons to Consider the Cloud
 
Building zero data loss pipelines with apache kafka
Building zero data loss pipelines with apache kafkaBuilding zero data loss pipelines with apache kafka
Building zero data loss pipelines with apache kafka
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
An Introduction to Apache Cassandra
An Introduction to Apache CassandraAn Introduction to Apache Cassandra
An Introduction to Apache Cassandra
 
SNIA SDC 2016 final
SNIA SDC 2016 finalSNIA SDC 2016 final
SNIA SDC 2016 final
 
Gluster dev session #6 understanding gluster's network communication layer
Gluster dev session #6  understanding gluster's network   communication layerGluster dev session #6  understanding gluster's network   communication layer
Gluster dev session #6 understanding gluster's network communication layer
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
Simplifying Disaster Recovery with Delta Lake
Simplifying Disaster Recovery with Delta LakeSimplifying Disaster Recovery with Delta Lake
Simplifying Disaster Recovery with Delta Lake
 
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
 
Running MySQL in AWS
Running MySQL in AWSRunning MySQL in AWS
Running MySQL in AWS
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWS
 

Último

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting

  • 1. DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting Rui Liu, Ashraf Aboulnaga, Kenneth Salem University of Waterloo
  • 2. RDBMS in the Cloud ● Many cloud/non-cloud applications use relational DBMS ○ easy-to-use ○ robust apps ○ good performance ○ possibility of scale-out (e.g., by sharding)
  • 3. DBMS Setting in Cloud Storage service DB Log DBMS ● Data and log are stored in network accessible storage ● On failure, a new DBMS is launched
  • 4. DBMS Setting in Cloud Storage service DB Log DBMS ● Data and log are stored in network accessible storage ● On failure, a new DBMS is launched
  • 5. DBMS Setting in Cloud Storage service DB Log DBMS DBMS ● Data and log are stored in network accessible storage ● On failure, a new DBMS is launched
  • 6. Data Center Disaster Tolerance ● Current solutions: log shipping, storage mirror or backup ○ Complex ○ Slow (synchronous) ○ Or, lost data (asynchronous) Storage service DB Log DBMS Data Center Storage service DB Log DBMSLog Shipping Mirror/Backup OR
  • 7. Our Solution Disaster tolerant storage for DBMS Hosting DBMS DBMS App AppApp App Data Center Storage service DBMS DBMS App AppApp App Data Center Storage service
  • 8. DAX Distributed Application-controlled Consistent Store ● Block I/O interface to DBMS ● Quorum-based, multi- master replication ● distributed, replicated “key- value store” ○ block ID ⇒ key ○ block contents ⇒ value DAX client library DBMS DAX
  • 9. Baseline: Quorum Reads and Writes ● Block replication: N times across DAX servers ○ servers and copies cover all data center ● Reads and writes ○ Read: request N copies, return after 1 ≤ R ≤ N ○ Write: request N copies, return after 1 ≤ W ≤ N ● R = W = N/2 +1 ○ replicas distributed across data centers ○ write quorum includes at least one remote replica
  • 10. Local Read and Write Latencies ●N = 3, in a single data center ●Consistency penalty: waiting for more replicas is slower
  • 11. Wide-Area Read and Write Latencies ●N = 3, copies in Oregon and Virginia ●Much larger consistency penalty!
  • 12. Goal of DAX ● Achieve the performance of R=1/W=1 while maintaining consistency, durability, and availability Contributions ● Performance optimization ○ Optimistic I/O - reduce read latency ○ Client-managed durability - hide write latency ● Novel consistency guarantee
  • 13. Optimistic I/O ● Key observation With R=W=1, most reads do not return stale data ○ Single writer ○ DBMS buffer pool ○ Parallel writes ○ Network topology ● Solution R=W=1, detect stale data, recover from it ○ record data block version numbers; check against record when reading
  • 14. Client-Managed Durability ● Key observations ○ Transaction semantics dictate when writes must be safe (Durable) and when the DBMS can tolerate unsafe writes ○ Database systems explicitly enforce data durability at necessary points ■ Durable means “replicated W times”
  • 15. Client-Managed Durability ● DAX has two kinds of writes ○ Data write, without durability guarantee ○ Synchronized write that ensures durability of previous writes ● DBMS issues the synchronized write only when its transaction protocols demand it ● Time between data write and synchronized write enables latency hiding
  • 16. Consistency in DAX ● Key idea: make DAX look like an unreplicated storage system with explicit synchronization points for updates ○ DAX’s clients (DBMS) are designed to work with this model ● Two guarantees: ○ DBMS sees the latest version as long as it is up ○ Exactly one version survives a database failure; it is the latest synchronized version, or later
  • 17. Consistency Example ●Which write should each read see? ●R1 must see W3 ●R2 can see W1, W2, or W3 ●R3 must see the version seen by R2
  • 18. Experiment Configurations ●9 DAX servers ●6 replicas distributed in 1 EC2 region (1 zone) 3 EC2 regions r1 r2 r3 r4 r5 DBMS r6 DBMS Virginia California Oregon r1 r2 r3 r4 r5 r6
  • 19. Throughput with DAX MySQL and DAX in Amazon EC2 TPC-C Workload - 9 DAX Nodes
  • 20. Summary ● DAX: disaster-tolerant storage for DBMS hosting ○ Scalable in storage capacity, bandwidth and the number of database tenants ● Data replication across data centers ● Optimistic I/O and client-managed durability to reduce request latencies ● DBMS-appropriate consistency guarantee, even across failures