In computer science, schema versioning and schema evolution, deal with the need to retain current data and software system functionality in the face of changing database structure.[1] The problem is not limited to the modification of the schema. It, in fact, affects the data stored under the given schema and the queries (and thus the applications) posed on that schema.
A database design is sometimes created as a "as of now" instance and thus schema evolution is not considered. (This is different but related to where a database is designed as a "one size fits all" which doesn't cover attribute volatility). This assumption, almost unrealistic in the context of traditional information systems, becomes unacceptable in the context of systems that retain large volumes of historical information or those such as web information systems, that due to the distributed and cooperative nature of their development, are subject of an even stronger pressure toward change (from 39% to over 500% more intense than in traditional settings).[2] Due to this historical heritage the process of schema evolution as of 2008 a particularly taxing one. It is, in fact, widely acknowledged that the data management core of an applications is one of the most difficult and critical components to evolve. The key problem is the impact
of the schema evolution on queries and applications. As shown in the article Schema Evolution in Wikipedia - Toward a Web Information System Benchmark (2008)[3] (which provides an analysis of the MediaWiki evolution) each evolution step might affect up to 70% of the queries operating on the schema, that must be manually reworked consequently.
In 2008, the problem has been recognized as a pressing one by the database community for more than 12 years.[4][5] Supporting schema evolution is a difficult problem involving complex mapping among schema versions and the tool support has been so far very limited. The recent theoretical advances on mapping composition[6] and mapping invertibility,[7] which represent the core problems underlying the schema evolution remains almost inaccessible to the large public.[why?] The issue is particular felt by temporal databases.[8]
^Roddick, John F (1995). "A survey of schema versioning issues for database systems". Information and Software Technology. 37 (7): 383–393. CiteSeerX 10.1.1.54.8474. doi:10.1016/0950-5849(95)91494-K.
^Nash, Alan; Bernstein, Philip A.; Melnik, Sergey (2007). "Composition of mappings given by embedded dependencies". ACM Transactions on Database Systems. 32: 4–es. CiteSeerX 10.1.1.534.3957. doi:10.1145/1206049.1206053.
^Fagin R, Kolaitis PG, Popa L, Tan WC. "Quasi-inverses of Schema Mappings" (PDF).
^Roddick, John F.; Snodgrass, Richard T. (1995). "Schema Versioning". The TSQL2 Temporal Query Language. The Springer International Series in Engineering and Computer Science. Springer, Boston, MA. pp. 427–449. doi:10.1007/978-1-4615-2289-8_22. ISBN 9781461359661.
In computer science, schema versioning and schemaevolution, deal with the need to retain current data and software system functionality in the face of...
intervention. Schema migration allows for fixing mistakes and adapting the data as requirements change. They are an essential part of software evolution, especially...
Temporal Representation and Reasoning, 1995, pp. 157-162 SchemaEvolution Benchmark - SchemaEvolution Hyun J. Moon; Carlo A. Curino; Alin Deutsch; C.-Y. Hou...
changes to an existing database design (database schema), Perst implements "lazy" database schemaevolution. When an object instance is loaded from the database...
However, this mode has limitations. db4o supports automatic object schemaevolution for the basic class model changes (field name deletion/addition). More...
optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination, and selection. Candidate...
these features, Apache Parquet supports limited schemaevolution[citation needed], i.e., the schema can be modified according to the changes in the data...
In evolutionary computation, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with...
based attributes. Distinguishing characteristic is schema is stored on each row enabling schemaevolution. Parquet – Columnar data storage. It is typically...
supporting relational joins, serialization, nested structures, and instant schemaevolution. Interfaces for C++ (native), Python and Tcl are the most used. Metakit...
terms schema matching and mapping are often used interchangeably for a database process. For this article, we differentiate the two as follows: schema matching...
This schema, or explanatory outline, for the novel Ulysses was produced by its author, James Joyce, in 1920 in order to help a friend (Carlo Linati) understand...
In computer science, an evolution strategy (ES) is an optimization technique based on ideas of evolution. It belongs to the general class of evolutionary...
relational database will mostly be in the sixth normal form. Unlike the star schema (dimensional modelling) and the classical relational model (3NF), data vault...
a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying...
framework for predicting the quality of the next generation, known as Holland's Schema Theorem. Research in GAs remained largely theoretical until the mid-1980s...
Natural evolution strategies (NES) are a family of numerical optimization algorithms for black box problems. Similar in spirit to evolution strategies...
provides a compact, schema-based binary data format. Schemas are defined using JSON. Oracle NoSQL Database supports schemaevolution. Configurable Smart...
Austrian ethologist Konrad Lorenz. Lorenz proposed the concept of baby schema (Kindchenschema), a set of facial and body features that make a creature...
W. Kim, H., and Korth., H. (1987) Semantics and implementation of schemaevolution in object-oriented databases. Proc. ACM SIGMOD Conf. Management of...
Linear genetic programming Multi expression programming Propagation of schema "Computing Machinery and Intelligence". www.cs.bham.ac.uk. Retrieved 2018-05-19...
Models Using XMI". In Yang H (ed.). Advances in UML and XML-Based Software Evolution. Idea Group Publishing. p. 103. ISBN 1-59140-621-8. Retrieved July 2,...
syntax. JPA 2 criteria queries are also supported. ObjectDB automatic schemaevolution handles most changes to classes transparently, including adding and...