To cope with the increasing diversity of data uses, storage systems have evolved towards multi-model systems. Indeed, as each data model has its own characteristics, constraints and operators, they can be best suited for a specific use case but not for another. Migrations between models are therefore essential to respond to the multiplicity of use cases, but are complex to manage because of the differences among models. As such, some constraints might not be preserved during a migration process, and some others might have to be created. Furthermore, the impact of a migration depends on the data schema: if the schema does not use a constraint of its source model, it is unimportant that the destination model does not support this constraint. Thus, it is necessary to specify a formal framework able to represent data models and their constraints, data schemas and data migrations. We rely on category theory to propose such framework. It uses categories to represent schemas and models, specific constructs such as isomorphisms, products and pullbacks to represent constraints, and functors to represent migrations. These elements serve to assess the impact of a migration on a data schema, depending on the source and destination models. Based on this framework, we define categories for the relational, JSON and property graph data models. We propose a prototype application implementing the formal framework. It can connect to data sources to automatically build the corresponding categorical schema, and display the impacts of a migration to users. An experimental evaluation of the execution time demonstrates the applicability of the approach.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A Categorical Representation of Multi-model Data to Prevent Data Migration Mismatch

  • Annabelle Gillet,
  • Éric Leclercq

摘要

To cope with the increasing diversity of data uses, storage systems have evolved towards multi-model systems. Indeed, as each data model has its own characteristics, constraints and operators, they can be best suited for a specific use case but not for another. Migrations between models are therefore essential to respond to the multiplicity of use cases, but are complex to manage because of the differences among models. As such, some constraints might not be preserved during a migration process, and some others might have to be created. Furthermore, the impact of a migration depends on the data schema: if the schema does not use a constraint of its source model, it is unimportant that the destination model does not support this constraint. Thus, it is necessary to specify a formal framework able to represent data models and their constraints, data schemas and data migrations. We rely on category theory to propose such framework. It uses categories to represent schemas and models, specific constructs such as isomorphisms, products and pullbacks to represent constraints, and functors to represent migrations. These elements serve to assess the impact of a migration on a data schema, depending on the source and destination models. Based on this framework, we define categories for the relational, JSON and property graph data models. We propose a prototype application implementing the formal framework. It can connect to data sources to automatically build the corresponding categorical schema, and display the impacts of a migration to users. An experimental evaluation of the execution time demonstrates the applicability of the approach.