Hyrise is the research in-memory database system that has been developed by our group since 2009 and has been entirely rewritten in 2017. Our goal is to provide a clean and flexible platform for research in the area of in-memory data management. Its architecture allows us, our students, and other researchers to conduct experiments around new data management concepts. To enable realistic experiments, Hyrise features comprehensive SQL support and performs powerful query plan optimizations. Well-known benchmarks, such as TPC-H or TPC-DS, can be executed with a single command and without any preparation.
Above the DBMS foundation of Hyrise, we build the “autonomous database”. The vision is to support database administrators (DBAs) in handling the growing complexity of not only the database systems themselves, but also that of the stored data and the workload. For this, Hyrise monitors runtime parameters, predicts the impact of possible configuration changes, and automatically applies those changes that are deemed beneficial. These changes may include the creation of secondary indexes, the (re-)encoding of columns, or the eviction of unused data to lower memory and storage tiers.
To foster reuse and reproduction, Hyrise is completely open source and available on Github. We value high quality code (C++20), as documented by strict code reviews, a test coverage of 90%, various linting and static code analysics tools, and a comment-to-code ratio of 1:4.
You are invited to read our Step-by-Step Guide and to contact us with any questions that may arise.
The project team consists of Markus Dreseler, Jan Kossmann, Martin Boissier, Stefan Halfpap, Keven Richly, Dr. Michael Perscheid, and Prof. Dr. h.c. Hasso Plattner. We thank all student contributors, without whom this work would not have been possible.