Seminar: Techniques for implementing main memory database systems



In this seminar we deal with techniques for implementing main memory database systems and related topics.


  • lecture Fundamentals of Databases (Grundlagen Datenbanken, GDB) or similar course
  • very good knowledge in data bases, good programming skills in C++


  • weekly meeting: on Mondays, 16:00 - 18:00, room MI 02.09.014
  • first meeting: 22.10.2018


  • First organisational meeting for the seminar: Thursday, 28.06.2018, 12:00 - 14:00, room MI 02.11.018
  • Besides the seminar paper (max. 5 pages) and talk, an implementation of the key aspects of your topic as a component of a main memory database system in C++ has to be done.
  • Contact us by email or in person to select a topic and to obtain literature recommendations.
  • The presentation can be done in English or in German. English is recommended only if you are proficient in English writing and conversation.


All topics are based on the architecture of our main memory database system HyPer ( On the website, you can also find a list of relevant literature. Many topics are also covered in the respective chapters of the textbook "Datenbanksysteme: Eine Einführung" (although more briefly than we expect from you). Furthermore, we recommend using the bibliography database dblp. Contact us in time after you have familiarized yourself with your topic, in order to plan the layout of your paper.

Topic List

  • 22.10.2018: Flajolet-Martin Sketches (Omar Zeidan, slides)
  • 22.10.2018: Index-Based Join Sampling
  • 29.10.2018: Count and Count-Min Sketches
  • 29.10.2018: SIMD-Accelerated Regular Expression Matching (Stefan Lachnit, slides)
  • 05.11.2018: SIMD-Accelerated Hash Tables: Linear Probing and Double Hashing (Jakob Huber, slides)
  • 05.11.2018: SIMD-Accelerated Hash Tables: Cuckoo Hashing (Rafid Ahmed, slides)
  • 12.11.2018: Main Memory Hash Join Algorithms for Multi-Core CPUs (Benjamin Wagner, slides)
  • 12.11.2018: Parallel Array-Based Single- and Multi-Source Breath First Search (Mahrad Zoonemat Kermani, slides)
  • 19.11.2018: SLACID: Sparse Linear Algebra in a Column-Oriented In-Memory Database System (Bernhard Hempfer)
  • 19.11.2018: ArrayStore: A Storage Manager for Complex Parallel Array Processing (Martin Hirschberger, slides)
  • 26.11.2018: Data Blocks: Hybrid OLTP and OLAP on Compressed Storage (Ben Brümmer, slides)
  • 26.11.2018: Database Compression on Graphics Processors (requires NVIDIA GPU, Maximilian Springer, slides)
  • 03.12.2018: MILC: Inverted List Compression in Memory (Yorrick Müller, slides)
  • 03.12.2018: Column Sketches: A Scan Accelerator for Rapid and Robust Predicate Evaluation (Alexander Beischl, slides)
  • 10.12.2018: Column Imprints: A Secondary Index Structure (Katerina Intzevidou, slides)
  • 10.12.2018: Result Set Serialization (Ferdinand List, slides)
  • 17.12.2018 - 04.02.2018: backup slots