Zero-Downtime SQL Database Schema Evolution for Continuous Deployment

Michael de Jong, Arie van Deursen, Anthony Cleve

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

9 Citations (Scopus)
535 Downloads (Pure)

Abstract

When a web service or application evolves, its database schema — tables, constraints, and indices — often need to evolve along with it. Depending on the database, some of these changes require a full table lock, preventing the service from accessing the tables under change. To deal with this, web services are typically taken offline momentarily to modify the database schema. However with the introduction of concepts like Continuous Deployment, web services are deployed into their production environments every time the source code is modified. Having to take the service offline — potentially several times a day — to perform schema changes is undesirable. In this paper we introduce QuantumDB— a tool-supported approach that abstracts this evolution process away from the web service without locking tables. This allows us to redeploy a web service without needing to take it offline even when a database schema change is necessary. In addition QuantumDB puts no restrictions on the method of deployment, supports schema changes to multiple tables using changesets, and does not subvert foreign key constraints during the evolution process. We evaluate QuantumDB by applying 19 synthetic and 95 industrial evolution scenarios to our open source implementation of QuantumDB. These experiments demonstrate that QuantumDB realizes zero- downtime migrations at the cost of acceptable overhead, and is applicable in industrial continuous deployment contexts.
Original languageEnglish
Title of host publicationProceedings of the 39th International Conference on Software Engineering (ICSE)
Subtitle of host publicationSoftware Engineering in Practice (SEIP) Track
PublisherIEEE
Pages143-152
Number of pages10
ISBN (Electronic)978-1-5386-2717-4
ISBN (Print)978-1-5386-2718-1
DOIs
Publication statusPublished - 2017
Event2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP) - Buenos Aires, Argentina
Duration: 20 May 201728 May 2017

Conference

Conference2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP)
Country/TerritoryArgentina
City Buenos Aires
Period20/05/1728/05/17

Keywords

  • Databases
  • Web services
  • Servers
  • Switches
  • Tools

Fingerprint

Dive into the research topics of 'Zero-Downtime SQL Database Schema Evolution for Continuous Deployment'. Together they form a unique fingerprint.

Cite this