Schema evolution is a crucial aspect in database management. The proposed taxonomies of schema changes have neglected the set of operations that involves relationships between entity types: aggregation and references, as well as the possible existence of structural variations for schema types, as most of NoSQL systems are schemaless. The distinction between entity types and relationship types, which is typical of graph schemas, is also not taken into account in the published works. Moreover, NoSQL schema evolution poses the challenge of having different data models, and no standard specification exists for them. In this paper, a generic approach for evolving NoSQL and relational schemas is presented, which is based on the U-Schema unified data model that includes aggregation and reference relationships, and structural variations. For this data model, we introduce a taxonomy of schema changes for all the U-Schema elements, which is implemented by creating the Orion database-independent language. We will show how Orion can be used to automatically generate evolution scripts for a set of NoSQL databases, and the feasibility of each schema operation will be analyzed through the performance results obtained. The taxonomy has been formally validated by means of Alloy, and two case studies show the application of Orion.
翻译:Schema 演进是数据库管理的一个重要方面。 拟议的化学变化分类法忽视了涉及实体类型之间关系的一系列操作:汇总和参考,以及可能存在化学类型的结构变异,因为大多数NOSQL系统都是无计划性的。 实体类型和关系类型之间的区别,这是图形图形图的典型,在出版的作品中也没有考虑到。 此外, NoSQL Schema 演进提出了拥有不同数据模型的挑战,而且没有为它们制定标准规格。本文介绍了一个开发NSQL和关系型的通用方法,该方法基于U-Schema统一数据模型,其中包括汇总和参考关系,以及结构变异。对于这一数据模型,我们对所有U-Schema元素的化学变化进行分类,这是通过创建依赖Orion数据库的语言来实施的。我们将展示Orion是如何为一套NSQL数据库自动生成演进脚本的。 每一个系统化操作的可行性将通过两次分析结果来分析。