Persistent and performant schema management in Polypheny-DB (Bachelor Thesis, Finished)
Author
Description
The goal of this project is to replace the existing catalog implementation of Polypheny-DB with a persistent and faster one.
There are several suitable data structure libraries for Java that provide persistence (e.g. MapDB and RocksDB). At the beginning of the project, the student is expected to evaluate and compare the existing implementations and select the most suitable one(s).
The main part of this project is the implementation of a new catalog using the previously selected data structure(s). The main focus of the implementation should be on performance and consistency. In addition, the implementation should be easily extendable to allow adding new features. The integrity of the information stored in the catalog is important. The student should therefore implement unit tests to verify the correctness of the implementation. Special attention should also be paid to the correct and consistent handling of concurrent requests.
Finally, the student should evaluate their implementation and compare it with the existing implementation.
Depending on the student's progress, the project \emph{can} be extended by looking into one or more of the following topics:
- Investigation and implementation of further approaches to improve query performance (e.g. caching).
- Optimize the catalog's interface and add additional methods where this will improve the query performance.
- Extend the catalog to support additional features like permission handling and stored procedures.
- Optimize the generation of the internal schema objects.
Start / End Dates
2020/02/03 - 2020/05/02