Self-Adaptive Polystore System (Master Thesis, Finished)
The idea of this project is to develop a component for Polypheny-DB that allows the system to adapt itself according to the current and predicted workload and a set of requirements.
The requirements should be definable by the user as kind of service-level agreements (SLAs). These SLAs (e.g., whether data needs to be stored persistently) then define a space in which Polypheny-DB can adapt itself. The SLAs should be adjustable at runtime.
In virtualized or cloud environments, it is possible to dynamically add or remove system resources (e.g., main-memory, CPU cores or storage space with different characteristics). Because the resources in a cloud environment are often billed based on the time they have been assigned (→ pay-as-you-go), there is a huge potential for savings since without continuous adjustments, the system can’t deal with peaks.
By dynamically adding and removing resources at runtime, the system can optimize itself to fulfill the specified SLAs (e.g., regarding a maximum execution time for queries).
In the course of the project, the workload monitoring and data statistics should be extended and improved. Furthermore, the cost calculation of query plans and the query routing should be extended and adjusted where necessary.
In order to properly evaluate the results of the project, the candidate should develop an approach for benchmarking the self-adaptive capabilities of Polypheny-DB added in the course of this project.
Start / End Dates
2021/10/07 - 2022/04/06