Skip to content
Bouncner edited this page Jan 31, 2024 · 6 revisions

HYRISE

About Hyrise

Hyrise is an experimental in-memory storage engine designed and developed at the Enterprise Systems research group at the Hasso Plattner Institute in Potsdam, Germany. Hyrise has undergone a major redesign in 2017 and has been released a new version with a completely rewritten codebase. While most of the core concepts remain the same, it has now a cleaner and more stable codebase that should be easier to understand for students and researchers. One of the ideas behind Hyrise is to provide a flexible platform for research in the area of in-memory data management, allowing to conduct experiments around autonomous data management concepts.

  • Hyrise is a strictly relational database, aiming at full SQL support. We support stored procedures, which are stored as named, static entries in our otherwise automatic query cache. Views are stored virtually as logical query plans that get embedded at planning time before the entire query gets optimized.
  • In addition to our console, which supports helpful debugging features like inline query plan visualization, we also have a server that implements the PostgreSQL wire protocol.
  • All data is stored primarily in main memory. Currently, only columnar storage is supported, but row-based or hybrid storage is conceptually possible. Tables are horizontally partitioned into chunks.
  • We use MVCC to guarantee atomicity and isolation. Logging and Checkpointing as means for durability are currently under development. We do not yet support any primary key or other consistency constraints that have to be enforced.
  • Data can optionally be indexed for easier access to point data. For non-indexed data, we make use of different types of filters to reduce the number of chunks that need to be accessed. Finding the sweet spot between different types of indexes and filters is part of our research.

Please have a look at the sidebar to navigate through our wiki.

Development Mode

Hyrise has been initially developed by the research group of Prof. Plattner at the Hasso Plattner Institute in Potsdam, Germany. As of 2024, the project is located at the Information Systems Group of Prof. Felix Naumann and the Data Engineering Systems Group of Prof. Tilmann Rabl. It is a joint effort by PhD students, student assistants, and graduate students who contribute as part of a seminar, a master's project, or their master's theses.

While virtually all development is done at HPI, we encourage external researchers to use Hyrise and to adapt it to their needs. We will gladly help with such efforts.