Polypheny-DB
Polypheny-DB copied to clipboard
Feature/master thesis schema evolution in polystores
Summary
MergeColumns: Allows merging multiple columns of a table in a relational namespace of Polypheny. As a test, the MergeColumns operation was performed in a vertically partitioned schema, where the one merging column in a document based store while the other is placed in a relational store. TransferTable: This operation allows tables to be moved from one relational namespace to another relational or to a document-based namespace, and also allows a collection to be moved to either type of namespace. Here the challenge and the scope is also increasing. Moving a table or collection (depending on the type of schema) to another namespace of the same data model, through a simple but elegant solution, does not require migration, just changing the metadata of the Polypheny-DB’s catalog. The second approach, where a table from a relational namespace is about to be moved to a document-based namespace, requires both schema evolution and data migration, explains the differences in data storage depending on the global namespace, but is only shown for the simple case where the table being moved is not included related to other tables. The third approach, moving a collection to a relational namespace, also considers embedded/nested documents from which multiple tables related to each other are then created.
Changes
- Endpoints for MergeColumns and TransferTable
- New PolySql-Statements: MERGE COLUMNS INTO and TRANSFER TABLE SET PRIMARY KEYS
- DdlManager: Methods for MergeColumns and TransferTable
- Catalog: Transfer an object from a namespace to another namespace of the same data model
- DataMigrator: Data migration after merge columns. Data migrations after transfer from relational to document-stored namespace and vice-versa
Features
- MergeColumns
- TransferTable