While the design of databases in different data models is a very well researched area of computer science, methods and languages for evolution are not yet available everywhere. Therefore, this topic has been the focus of our research for decades. In particular, we concentrate on methods for non-relational data models (XML, JSON, Graph) and develop evolution languages and implement tools for this task.
An evolution on these data models isalways a co-evolution of schema and data (since the schema, if it exists at all) can be stored separately from the data. For this reason, all approaches must also translate the evolution operations defined for the schema level into data migration operations. The following figure shows this schematically.
(Figure from Uta Störl, Meike Klettke, Stefanie Scherzinger: NoSQL Schema Evolution and Data Migration: State-of-the-Art and Opportunities. Tutorial at EDBT 2020)
In NoSQL databases without an explicitly available schema, a schema extraction algorithm is required in the overall procedure; we have also developed procedures for this, which are described here.