Standard

Zero-Downtime SQL Database Schema Evolution for Continuous Deployment. / de Jong, Michael; 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

de Jong, M, 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, 2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP) , Buenos Aires, Argentina, 20/05/17. DOI: 10.1109/ICSE-SEIP.2017.5

APA

de Jong, M., 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

de Jong M, 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

de Jong, Michael ; 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. pp. 143-152

BibTeX

@inbook{a1fa43f990664f21a19956793f0d2614,
title = "Zero-Downtime SQL Database Schema Evolution for Continuous Deployment",
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.",
keywords = "Databases, Web services, Servers, Switches, Tools",
author = "{de Jong}, Michael and Deursen, {Arie van} and Anthony Cleve",
year = "2017",
doi = "10.1109/ICSE-SEIP.2017.5",
isbn = "978-1-5386-2718-1",
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 - de Jong,Michael

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.

KW - Databases

KW - Web services

KW - Servers

KW - Switches

KW - Tools

U2 - 10.1109/ICSE-SEIP.2017.5

DO - 10.1109/ICSE-SEIP.2017.5

M3 - Conference contribution

SN - 978-1-5386-2718-1

SP - 143

EP - 152

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

PB - IEEE

ER -

ID: 11926971