Integrating support for the document data model in a polystore system (Master Project, Finished)


David Lengweiler


The polystore system Polypheny-DB is internally based on a relational data model. While it is possible to query data stores with different data models, this is done by mapping a relational data model into the data model of these (non-relational) data stores. An example for this is the Cassandra store adapter in Polypheny-DB. With this approach we lose all or at least most of the data model dependent advantages of these non-relational data stores.

The goal of this project is to add support for the document data model in Polypheny-DB (multiple collections containing documents). This includes extending the Polypheny-UI for managing schemas of type document. Furthermore, the project includes adding support for a document database system (e.g., MongoDB).

A major part of the project is the mapping between the newly added document model and the existing relation model. While DDL statements should be limited to the corresponding data model, DQL and DML statements should be mapped between the data models. This means in particular (1) the mapping of relational queries into the document data model and (2) the mapping of the document data model on relational data stores.

The project can optionally be extended to also add support for the MongoDB query language. Another possible extension are dynamic columns in the relational data model. The idea of dynamic columns is to extend the relational model and making use of the flexibility of some of the underlying data stores. While in a relational database schema every row of a table has the same columns, NoSQL stores like document stores support different schemas for every row. The idea is to combine the strict relational schema definition with the flexibility of NoSQL systems by allowing to add additional "dynamic" columns to a row. Every row has the defined columns but can also have more columns.

Start / End Dates

2021/02/01 - 2021/08/01


Research Topics