z-logo
open-access-imgOpen Access
Assessing the Occurrence of Blocking Operations in Database Schema Evolution: A Case Study
Author(s) -
W Lawrence,
Eiji Adachi
Publication year - 2021
Language(s) - English
Resource type - Conference proceedings
DOI - 10.5753/vem.2021.17209
Subject(s) - schema evolution , computer science , schema (genetic algorithms) , schema migration , database schema , database , blocking (statistics) , software , information retrieval , semi structured model , database design , operating system , computer network
During the evolution of a database schema, some schema-changing operations (e.g., the “ALTER TABLE” command) require the underlying database management system to lock tables until the opera-tion is finished. We call these schema-changing operations blocking operations. During the execution of blocking operations, a soft-ware application may behave abnormally, varying from a slow page loading to an error caused by a web request taking too long to return. Despite their potential negative impact on important qual-ity attributes, blocking operations have not yet been empirically investigated in the context of software evolution. To fill this gap, we conducted a large industrial case study in the context of a Brazilian software company. We analyzed 1,499 atomic schema-changing operations from a period of 6 years to explore which blocking operations the developers frequently performed during the evolution of the database schema of a target system. The intention behind this case study is better understanding the problem in its original context to outline strategies to correct or mitigate it in the future. Our results show that blocking operations were very common, though not all of them seemed to cause observable downtime periods. We also present some mitigating strategies already in use by the devel-opment team of the target system to cope with blocking operation during software evolution, avoiding their negative impact.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here