Resources

The main source of resources for our work in schema evolution is the DAINTINESS set of repositories at github.

The histories of free, open source databases that we have collected can be found at the Evolution Datasets collection

Schema Evolution: the process of working with schema histories

Schema Evolution: the process of working with schema histories

The main tool for extracting the deltas among the different versions of a schema history is Hecate. Hecate computes:

The main tool for extracting statistics and chart visualizations is Heraclitus Fire. Heraclitus Fire takes the output of Hecate as input and (a) computes more elaborate metrics, like monthly schema stats, (b) visualizes the behavior of the schema and tables over time and commit id, (c) assesses patterns of evolution (currently in draft mode).

The main tool for working with the evolution of foreign keys is Parmenidian Truth that treats each instance of the schema as a graph (tables are nodes, foreign keys are directed edges). Parmenidian Truth identifies the changees in the graph and, based on the identified changes, it provides a quantification and a visualization off them. A core pilar of the tool is the Diachronic Graph, a "universal" graph, produced as the union of all graphs of the different versions of the schema.

An extra tool for the visualization of the lives of tables, and through them, the visualization of the evolution of the schema is Plutarch Parallel Lives. The tool depicts the evolution as a 2D matrix (tables X versions) with the intensity of the color of each cell in accordance with the amount of change it underwent. Also the tool offers visualization facilities likes zoom-in/out, as well as table clusterings and phase extraction, to accomodate large time periods or voluminous schemata in terms of number of tables.