Standard

Zero-Downtime SQL Database Schema Evolution for Continuous Deployment. / Jong, Michael de; Deursen, Arie van; Cleve, Anthony.

Proceedings of the 39th International Conference on Software Engineering (ICSE): Software Engineering in Practice (SEIP) Track. IEEE, 2017. p. 143-152.

Research output: Scientific - peer-reviewConference contribution

Harvard

Jong, MD, Deursen, AV & Cleve, A 2017, Zero-Downtime SQL Database Schema Evolution for Continuous Deployment. in Proceedings of the 39th International Conference on Software Engineering (ICSE): Software Engineering in Practice (SEIP) Track. IEEE, pp. 143-152. DOI: 10.1109/ICSE-SEIP.2017.5

APA

Jong, M. D., Deursen, A. V., & Cleve, A. (2017). Zero-Downtime SQL Database Schema Evolution for Continuous Deployment. In Proceedings of the 39th International Conference on Software Engineering (ICSE): Software Engineering in Practice (SEIP) Track. (pp. 143-152). IEEE. DOI: 10.1109/ICSE-SEIP.2017.5

Vancouver

Jong MD, Deursen AV, Cleve A. Zero-Downtime SQL Database Schema Evolution for Continuous Deployment. In Proceedings of the 39th International Conference on Software Engineering (ICSE): Software Engineering in Practice (SEIP) Track. IEEE. 2017. p. 143-152. Available from, DOI: 10.1109/ICSE-SEIP.2017.5

Author

Jong, Michael de; Deursen, Arie van; Cleve, Anthony / Zero-Downtime SQL Database Schema Evolution for Continuous Deployment.

Proceedings of the 39th International Conference on Software Engineering (ICSE): Software Engineering in Practice (SEIP) Track. IEEE, 2017. p. 143-152.

Research output: Scientific - peer-reviewConference contribution

BibTeX

@inbook{a1fa43f990664f21a19956793f0d2614,
title = "Zero-Downtime SQL Database Schema Evolution for Continuous Deployment",
author = "Jong, {Michael de} and Deursen, {Arie van} and Anthony Cleve",
year = "2017",
doi = "10.1109/ICSE-SEIP.2017.5",
pages = "143--152",
booktitle = "Proceedings of the 39th International Conference on Software Engineering (ICSE)",
publisher = "IEEE",
address = "United States",

}

RIS

TY - CHAP

T1 - Zero-Downtime SQL Database Schema Evolution for Continuous Deployment

AU - Jong,Michael de

AU - Deursen,Arie van

AU - Cleve,Anthony

PY - 2017

Y1 - 2017

N2 - 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.

AB - 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.

U2 - 10.1109/ICSE-SEIP.2017.5

DO - 10.1109/ICSE-SEIP.2017.5

M3 - Conference contribution

SP - 143

EP - 152

BT - Proceedings of the 39th International Conference on Software Engineering (ICSE)

PB - IEEE

ER -

ID: 11926971