SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
FlurryDB
A Dynamically Scalable Relational
Database with Virtual Machine Cloning
Michael Mior and Eyal de Lara
University of Toronto
Cluster Databases
                                          DBMS

                      Load                VM
                    balancer

                                          DBMS

                                          VM



• We use read-one write all (ROWA) replication
  • Send reads to any server instance
  • Send writes to all server instances
• Two-phase commit is required for writes
Problem




• Loads may fluctuate drastically over time
• Pay-as-you-go IaaS clouds should be ideal

However
   We want to adapt the size of the cluster to match the load
Problem
• Databases have large state and are hard to scale
• A complete copy may be required for new instances
• Copying large databases may take hours


Queries

Replication
                   copy       boot        catch         add
                   data      replica       up         replica


• Overprovisioning is necessary to maintain service
Solution – Virtual Machine Fork

• Analogous to fork() for OS processes
• Clones start immediately
• State fetched on-demand
  • Page faults fetch the memory or disk page


      This can reduce instantiation time
      from minutes or hours to seconds
VM Fork




 Master VM   Clone VM
FlurryDB
   • Use VM fork to provision new instances and
     add elasticity to unmodified MySQL

   • Making distributed commit cloning-aware to
     handle in-flight transactions

Queries

Replication
              clone     add
                      replica
FlurryDB Challenges

1. Incorporate new worker into cluster

2. Preserve application semantics
Incorporate new worker

• Clone must connect to the load balancer

• Load balancer must begin sending
  transactions to the clone
Preserve application semantics
• Transactions may be in-progress at the
  time of cloning
• Clone gets new IP address
• Doing nothing drops connections and
  transaction status is unknown
                                New IP Address


     DBMS       T     DBMS
                                 ?T’

    Master VM        Clone VM
Solutions to consistency
1. Employ a write barrier
         DBMS             DBMS
        Master VM        Clone VM



2. Roll back all transactions in progress
         DBMS             DBMS
                    T’
        Master VM        Clone VM



3. Allow all transactions to complete
         DBMS             DBMS
                    T               T’
        Master VM        Clone VM
FlurryDB: Consistency beyond VM fork



Solution
Use a proxy which is aware of VM fork inside
the virtual machine to maintain the database
connection
Two-phase commit during
cloning
      Client    T



       Load
     Balancer   T   T’




      Proxy     T             Proxy     T’
                    fork

     Database   T            Database   T’
   Master VM               Clone VM
Replica addition delay
• Update 10,000 rows concurrently

• Clone and measure replica addition delay in
  two cases
   • Write barrier - wait for outstanding writes to
     complete before cloning
   • FlurryDB - use double-proxying to allow
     completion on the clone
Replica addition delay
Proxy overhead


• Measurement of large SELECT transfer
  times shows ~5% drop in bandwidth

• Reconnection to new servers ~10x
  faster with no authentication
RUBBoS
• Simulates a news website such as Slashdot
• Users read, post, and comment on stories

• We run server at full capacity (25 clients)
• After 5 minutes, we clone to two servers and
  double the number of clients
• Throughput in queries per second is
  measured at the load balancer
RUBBOS Results
           cloning at 300s
Summary
• FlurryDB adds elasticity to unmodified MySQL
  by interposing a cloning-aware proxy

• VM fork handles most of the issues with
  replica addition

• A proxy handles in-flight requests

• New replicas can be made available in
  seconds while maintaining consistency
Future Work

• Experiment with varying consistency protocols
  (e.g. master-slave, eventual consistency)

• Test scalability with larger numbers of clones

• Optimize virtual disk performance

• Provide support for transactional workloads
Questions?
Related Work
• “NoSQL” (perhaps more accurately, NoACID) systems
  using eventual consistency or key-value data models
  such as Cassandra or Dynamo
• Relational Cloud uses dynamic partitioning across a
  cluster of MySQL/PostgreS instances
• Urgaonkar et al. use rapid changes in resource allocate to
  provision a multi-tier Internet application
• Soundararajan et al. present dynamic replication policies
  for scaling database servers
• HyPer uses process fork and memory snapshots to
  enable a hybrid OLAP/OLTP workload

Mais conteúdo relacionado

Mais procurados

Cloud Foundry on OpenStack - An Experience Report | anynines
Cloud Foundry on OpenStack - An Experience Report | anynines Cloud Foundry on OpenStack - An Experience Report | anynines
Cloud Foundry on OpenStack - An Experience Report | anynines
anynines GmbH
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013
Jun Rao
 
Alibaba patches in MariaDB
Alibaba patches in MariaDBAlibaba patches in MariaDB
Alibaba patches in MariaDB
Lixun Peng
 
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
confluent
 

Mais procurados (20)

MySQL Multi-Master Replication
MySQL Multi-Master ReplicationMySQL Multi-Master Replication
MySQL Multi-Master Replication
 
Windows Package Manager Concept
Windows Package Manager ConceptWindows Package Manager Concept
Windows Package Manager Concept
 
Kafka as a message queue
Kafka as a message queueKafka as a message queue
Kafka as a message queue
 
Multi-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQMulti-language/multi-OS communication using RabbitMQ
Multi-language/multi-OS communication using RabbitMQ
 
Cloud Foundry on OpenStack - An Experience Report | anynines
Cloud Foundry on OpenStack - An Experience Report | anynines Cloud Foundry on OpenStack - An Experience Report | anynines
Cloud Foundry on OpenStack - An Experience Report | anynines
 
Redo log
Redo logRedo log
Redo log
 
9th docker meetup 2016.07.13
9th docker meetup 2016.07.139th docker meetup 2016.07.13
9th docker meetup 2016.07.13
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
ES & Kafka
ES & KafkaES & Kafka
ES & Kafka
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013
 
Alibaba patches in MariaDB
Alibaba patches in MariaDBAlibaba patches in MariaDB
Alibaba patches in MariaDB
 
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, UberDemystifying flink memory allocation and tuning - Roshan Naik, Uber
Demystifying flink memory allocation and tuning - Roshan Naik, Uber
 
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
The Good, The Bad, and The Avro (Graham Stirling, Saxo Bank and David Navalho...
 
NServiceBus - introduction to a message based distributed architecture
NServiceBus - introduction to a message based distributed architectureNServiceBus - introduction to a message based distributed architecture
NServiceBus - introduction to a message based distributed architecture
 
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
Discover Kafka on OpenShift: Processing Real-Time Financial Events at Scale (...
 
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
 
Database and Public Endpoints redundancy on Azure
Database and Public Endpoints redundancy on AzureDatabase and Public Endpoints redundancy on Azure
Database and Public Endpoints redundancy on Azure
 
Apache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-PatternApache Kafka – (Pattern and) Anti-Pattern
Apache Kafka – (Pattern and) Anti-Pattern
 
Using SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s WorkloadsUsing SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s Workloads
 
Kafka: Internals
Kafka: InternalsKafka: Internals
Kafka: Internals
 

Semelhante a FlurryDB: A Dynamically Scalable Relational Database with Virtual Machine Cloning

NIC 2013 - Hyper-V Replica
NIC 2013 - Hyper-V ReplicaNIC 2013 - Hyper-V Replica
NIC 2013 - Hyper-V Replica
Kristian Nese
 
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Ontico
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
LarryZaman
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Continuent
 

Semelhante a FlurryDB: A Dynamically Scalable Relational Database with Virtual Machine Cloning (20)

NIC 2013 - Hyper-V Replica
NIC 2013 - Hyper-V ReplicaNIC 2013 - Hyper-V Replica
NIC 2013 - Hyper-V Replica
 
6. Live VM migration
6. Live VM migration6. Live VM migration
6. Live VM migration
 
Running Legacy Applications with Containers
Running Legacy Applications with ContainersRunning Legacy Applications with Containers
Running Legacy Applications with Containers
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
Cистема распределенного, масштабируемого и высоконадежного хранения данных дл...
 
vCloud Automation Center 6.0 -My Notes on Architecture
vCloud Automation Center 6.0 -My Notes on ArchitecturevCloud Automation Center 6.0 -My Notes on Architecture
vCloud Automation Center 6.0 -My Notes on Architecture
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
 
From a kafkaesque story to The Promised Land
From a kafkaesque story to The Promised LandFrom a kafkaesque story to The Promised Land
From a kafkaesque story to The Promised Land
 
MySQL Multi Master Replication
MySQL Multi Master ReplicationMySQL Multi Master Replication
MySQL Multi Master Replication
 
MariaDB High Availability Webinar
MariaDB High Availability WebinarMariaDB High Availability Webinar
MariaDB High Availability Webinar
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
Cassandra Summit 2014: Cassandra Compute Cloud: An elastic Cassandra Infrastr...
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
 
OpenNebula Administrator View
OpenNebula Administrator ViewOpenNebula Administrator View
OpenNebula Administrator View
 
ONE Tips & Tricks
ONE Tips & Tricks ONE Tips & Tricks
ONE Tips & Tricks
 
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedInJay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity security
 

Mais de Michael Mior

Locomotor: transparent migration of client-side database code
Locomotor: transparent migration of client-side database codeLocomotor: transparent migration of client-side database code
Locomotor: transparent migration of client-side database code
Michael Mior
 

Mais de Michael Mior (6)

A view from the ivory tower: Participating in Apache as a member of academia
A view from the ivory tower: Participating in Apache as a member of academiaA view from the ivory tower: Participating in Apache as a member of academia
A view from the ivory tower: Participating in Apache as a member of academia
 
Physical Design for Non-Relational Data Systems
Physical Design for Non-Relational Data SystemsPhysical Design for Non-Relational Data Systems
Physical Design for Non-Relational Data Systems
 
Apache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them AllApache Calcite: One Frontend to Rule Them All
Apache Calcite: One Frontend to Rule Them All
 
Locomotor: transparent migration of client-side database code
Locomotor: transparent migration of client-side database codeLocomotor: transparent migration of client-side database code
Locomotor: transparent migration of client-side database code
 
Automated Schema Design for NoSQL Databases
Automated Schema Design for NoSQL DatabasesAutomated Schema Design for NoSQL Databases
Automated Schema Design for NoSQL Databases
 
NoSE: Schema Design for NoSQL Applications
NoSE: Schema Design for NoSQL ApplicationsNoSE: Schema Design for NoSQL Applications
NoSE: Schema Design for NoSQL Applications
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 

FlurryDB: A Dynamically Scalable Relational Database with Virtual Machine Cloning

  • 1. FlurryDB A Dynamically Scalable Relational Database with Virtual Machine Cloning Michael Mior and Eyal de Lara University of Toronto
  • 2. Cluster Databases DBMS Load VM balancer DBMS VM • We use read-one write all (ROWA) replication • Send reads to any server instance • Send writes to all server instances • Two-phase commit is required for writes
  • 3. Problem • Loads may fluctuate drastically over time • Pay-as-you-go IaaS clouds should be ideal However We want to adapt the size of the cluster to match the load
  • 4. Problem • Databases have large state and are hard to scale • A complete copy may be required for new instances • Copying large databases may take hours Queries Replication copy boot catch add data replica up replica • Overprovisioning is necessary to maintain service
  • 5. Solution – Virtual Machine Fork • Analogous to fork() for OS processes • Clones start immediately • State fetched on-demand • Page faults fetch the memory or disk page This can reduce instantiation time from minutes or hours to seconds
  • 6. VM Fork Master VM Clone VM
  • 7. FlurryDB • Use VM fork to provision new instances and add elasticity to unmodified MySQL • Making distributed commit cloning-aware to handle in-flight transactions Queries Replication clone add replica
  • 8. FlurryDB Challenges 1. Incorporate new worker into cluster 2. Preserve application semantics
  • 9. Incorporate new worker • Clone must connect to the load balancer • Load balancer must begin sending transactions to the clone
  • 10. Preserve application semantics • Transactions may be in-progress at the time of cloning • Clone gets new IP address • Doing nothing drops connections and transaction status is unknown New IP Address DBMS T DBMS ?T’ Master VM Clone VM
  • 11. Solutions to consistency 1. Employ a write barrier DBMS DBMS Master VM Clone VM 2. Roll back all transactions in progress DBMS DBMS T’ Master VM Clone VM 3. Allow all transactions to complete DBMS DBMS T T’ Master VM Clone VM
  • 12. FlurryDB: Consistency beyond VM fork Solution Use a proxy which is aware of VM fork inside the virtual machine to maintain the database connection
  • 13. Two-phase commit during cloning Client T Load Balancer T T’ Proxy T Proxy T’ fork Database T Database T’ Master VM Clone VM
  • 14. Replica addition delay • Update 10,000 rows concurrently • Clone and measure replica addition delay in two cases • Write barrier - wait for outstanding writes to complete before cloning • FlurryDB - use double-proxying to allow completion on the clone
  • 16. Proxy overhead • Measurement of large SELECT transfer times shows ~5% drop in bandwidth • Reconnection to new servers ~10x faster with no authentication
  • 17. RUBBoS • Simulates a news website such as Slashdot • Users read, post, and comment on stories • We run server at full capacity (25 clients) • After 5 minutes, we clone to two servers and double the number of clients • Throughput in queries per second is measured at the load balancer
  • 18. RUBBOS Results cloning at 300s
  • 19. Summary • FlurryDB adds elasticity to unmodified MySQL by interposing a cloning-aware proxy • VM fork handles most of the issues with replica addition • A proxy handles in-flight requests • New replicas can be made available in seconds while maintaining consistency
  • 20. Future Work • Experiment with varying consistency protocols (e.g. master-slave, eventual consistency) • Test scalability with larger numbers of clones • Optimize virtual disk performance • Provide support for transactional workloads
  • 22. Related Work • “NoSQL” (perhaps more accurately, NoACID) systems using eventual consistency or key-value data models such as Cassandra or Dynamo • Relational Cloud uses dynamic partitioning across a cluster of MySQL/PostgreS instances • Urgaonkar et al. use rapid changes in resource allocate to provision a multi-tier Internet application • Soundararajan et al. present dynamic replication policies for scaling database servers • HyPer uses process fork and memory snapshots to enable a hybrid OLAP/OLTP workload