Master Projekt 2014: Code better, run faster - Tools for Performance-Driven Enterprise Application Development
Unfolding the full potential of a columnar in-memory database and its underlying hardware requires application developers to write program flows and queries that can be efficiently executed by the database engine. This is a non-trivial task, especially for non-trivial database operations. The goal of this project is to create and evaluate intuitive tools for expressing efficient database operators at design time and supporting application developers in achieving maximum runtime performance. Especially when it comes to outlining potential bottlenecks and understanding unexpected behavior, information about expected result set sizes, number of cache misses, core utilization and execution times is key for building highly responsive applications. Future tools shall not only reactively deliver such information on demand, but should proactively supply developers with helpful information and visualizations while coding. Making this information accessible in an easy and consumable way without having to worry much about setting up and installing additional tools for statistical evaluation and presentation of the results could significantly improve the developer experience and lead to better software. This project aims to extend an existing browser-based interface for the prototypical open-source in-memory database Hyrise. Helping the developer to implement, test and evaluate high performance applications currently needs a lot of low-level work to increase performance. In this project, we want to integrate the implementation and tweaking, for example of stored procedures or custom operators, into the existing development environment. We will verify our concepts with the goal to write efficient algorithms for analyzing sensor data that was obtained from soccer matches of the German national team.
- Familiarization with in-memory data management and hands-on experience with Hyrise
- Design of tools to improve the development experience
- Prototypical realization and validation using the browser-based IDE for Hyrise
- Verification of concepts in the context of analyzing real-world sensor data of a soccer match (60 million data points)