Survival in schema evolution: putting the lives of survivor and dead tables in counterpoint

Panos Vassiliadis, Apostolos Zarras

29th International Conference on Advanced Information Systems Engineering (CAiSE 2017), 12-16 June 2017, Essen, Germany

Summary

How can we plan development over an evolving schema? In this paper, we study the history of the schema of eight open source software projects that include relational databases and extract patterns related to the survival or death of their tables. Our findings are mostly summarized by a pattern, which we call "electrolysis pattern" due to its diagrammatic representation, stating that dead and survivor tables live quite different lives: tables typically die shortly after birth, with short durations and mostly no updates, whereas survivors mostly live quiet lives with few updates -- except for a small group of tables with high update ratios that are characterized by high durations and survival.
Based on our findings, we recommend that development over newborn tables should be restrained, and wherever possible, encapsulated by views to buffer both infant mortality and high update rate of hyperactive tables. Once a table matures, developers can rely on a typical pattern of gravitation to rigidity, providing less disturbances due to evolution to the surrounding code.

Plz., refer to our Schema biographies page for a general overview of our research program.

Texts

Panos Vassiliadis, Apostolos Zarras. Survival in schema evolution: putting the lives of survivor and dead tables in counterpoint. 29th International Conference on Advanced Information Systems Engineering (CAiSE 2017), 12-16 June 2017, Essen, Germany

[Local copy of the paper at CAiSE 2017 (PDF)]

Panos Vassiliadis, Apostolos V. Zarras. Schema Evolution Survival Guide for Tables: Avoid Rigid Childhood and You’re En Route to a Quiet Life. Journal on Data Semantics, Volume 6, Issue 4, December 2017, pp 221–241, ISSN: 1861-2040, DOI: 10.1007/s13740-017-0083-x.

Local copy at the Journal of Data Semantics

Presentations