Schema Versioning in Databases: A Literature Review - Zouhaier Brahmia; Fabio Grandi; Barbara Oliboni (Computing Open)
Changes involving the database schema are unavoidable events that sometimes occur in data-centric systems, due to many reasons like evolution of user requirements, corrective maintenance, improvement of the current schema with the addition of new integrity constraints, implementation of new business rules, or compliance to new regulations. In order to manage schema changes, researchers have proposed a technique named “schema versioning”, in which all versions of the database schema are kept along with their underlying data, preventing loss of information and obsolescence of legacy applications. This technique has been widely studied in both conventional and emerging databases. Despite lot of interesting research efforts that have dealt with database schema versioning and the importance of this technique for database maintenance, current Database Management Systems (DBMSs) do not provide sufficient support for its implementation. This paper (i) gives an overview of state-of-the-art research approaches to schema versioning in databases, based on the study of more than 270 papers and providing a historical perspective on the development of the topic, (ii) illustrates the support of schema versioning in commercial DBMSs, and (iii) points out some possible future research directions in this area.