With mutable, our goal is to develop a database system that allows for efficient prototyping of research ideas while striving for competitive performance with state-of-the-art systems.
In database research, performance is often considered a measure of novelty and quality, and so one is frequently confronted with the question how to evaluate or assess a new research idea. Consider for instance the development and evaluation of a new join algorithm. There are two extremes to approaching this task: start from scratch or implement into an existing system. The former approach allows for a more detailed evaluation of the algorithm in a controlled environment. However, the downside is a considerable development effort, e.g. input data must be provided in a suitable format to the join algorithm. Furthermore, it is difficult to compare the findings with related work and estimate its behaviour in existing systems. The latter approach enables focusing on implementing the join algorithm by relying on existing infrastructure. Despite the fact that these systems evolved over time and were developed by domain experts, certain design decisions that were made induce notable overhead, like a sub-optimal data layout. This negatively affects the ability to evaluate the performance of the join algorithm and to reason about experimental results.
The development of mutable aims to overcome these obstacles through the following contributions:
Research Assistant &