Prof. Dr. h.c. mult. Hasso Plattner

Dr. Markus Dreseler

Phone: +49 (331) 5509 - 1310
Fax: +49 (331) 97992 - 579
E-Mail: markus.dreseler(at)hpi.de
Room: Hasso-Plattner-Villa, V 2.05 


Using Non-Volatile Memory to Extend the Capacity of In-Memory Databases

Existing byte-addressable NVM technologies have four times the capacity of DRAM DIMMs, allowing IMDBs to scale beyond their current capacity limitations. At the same time, they are slower both in terms of latency and bandwidth, so a balance between performance and capacity needs to be found. The overlying question of this work is how IMDBs may store most of their data on NVM while keeping the performance sacrifice to a minimum. As part of this, we make three contributions:

First, we present the entirely re-written research IMDB Hyrise. To be able to measure the performance impact of DRAM/NVM tiering, we built a system that allows us to gather statistics relevant for NVM placement decisions, transparently move data from DRAM to NVM and back, and evaluate the placement end-to-end. Hyrise not only serves as the experimental platform in this thesis, but is also used for other research in our group, by industry partners for internal evaluations, as well as in our Master's courses.

Second, we evaluate data structures found in IMDBs (e.g., uncompressed data, dictionaries and attribute vectors, secondary indexes) for how storing them on NVM affects their performance. We show that moving rarely accessed and sequentially loaded data to NVM has only a small performance impact. Different from what most research on NVM data structures focuses on, we show that these are often written only once, enabling us to relax some of the consistency requirements imposed on general-purpose data structures.

Third, we present an automatic and transparent NVM placement mechanism and evaluate it using synthetic and real-world workloads. We evaluate how many of the system's memory slots can be filled with NVM instead of DRAM without significant impacts on the latency and throughput of the database. Looking beyond data placement for existing data, we show how the added capacity also allows us to create additional secondary data structures that were not cost-effective on DRAM but become feasible thanks to NVM.

Supervised Master's Theses


  • Reducing the Chunk Overhead in Hyrise (title tbd)


  • Optimizing Memory Transfer on Large Scale-Up Machines
  • Optimizing OLTP Performance in In-Memory Databases on NUMA System
  • Building an SQL Interface and Leveraging Query Plan Caching for a Relational Database
  • Just-in-Time Compilation for Efficient Query Plan Execution of OLAP Workloads in Column Stores
  • Adaptive Query Optimization for In-Memory Databases
  • Logging and Recovery on In-Memory Databases
  • Scalability Optimizations for In-Memory Databases on Hundreds of Cores
  • Optimized Operator Fusion for Just-In-Time-Compile Database Queries
  • Anti-Caching for Hyrise


  • 1.
    Dreseler, M., Boissier, M., Rabl, T., Uflacker, M.: Quantifying TPC-H Choke Points and Their Optimizations. Proceedings of the VLDB Endowment. pp. 1206–1220 (2020).
  • 2.
    Dreseler, M.: Storing STL Containers on NVM. Persistent Programming in Real Life (2019).
  • 3.
    Dreseler, M., Kossmann, J., Boissier, M., Klauck, S., Uflacker, M., Plattner, H.: Hyrise Re-engineered: An Extensible Database System for Research in Relational In-Memory Data Management. 22nd International Conference on Extending Database Technology (EDBT). pp. 313–324 (2019).
  • 4.
    Schmidt, C., Dreseler, M., Akin, B., Roy, A.: A Case for Hardware-Supported Sub-Cache Line Accesses. Data Management on New Hardware (DaMoN), in conjunction with SIGMOD (2018).
  • 5.
    Dreseler, M., Kossmann, J., Frohnhofen, J., Uflacker, M., Plattner, H.: Fused Table Scans: Combining AVX-512 and JIT to Double the Performance of Multi-Predicate Scans. Joint Workshop of HardBD (International Workshop on Big Data Management on Emerging Hardware) and Active (Workshop on Data Management on Virtualized Active Systems), in conjunction with ICDE (2018).
  • 6.
    Kossmann, J., Dreseler, M., Gasda, T., Uflacker, M., Plattner, H.: Visual Evaluation of SQL Plan Cache Algorithms. Australasian Database Conference (ADC) (2018).
  • 7.
    Dreseler, M., Gasda, T., Kossmann, J., Uflacker, M., Plattner, H.: Adaptive Access Path Selection for Hardware-Accelerated DRAM Loads. Australasian Database Conference (ADC) (2018).
  • 8.
    Dreseler, M., Kissinger, T., Djürken, T., Eric, L., Uflacker, M., Habich, D., Plattner, H., Lehner, W.: Hardware-Accelerated Memory Operations on Large-Scale NUMA Systems. Eighth International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures (ADMS), in conjunction with VLDB (2017).
  • 9.
    Schwalb, D., Faust, M., Dreseler, M., Flemming, P., Plattner, H.: Hyrise-NV: Leveraging Non-Volatile Memory for Instant Restarts of In-Memory Database Systems. International Conference on Data Engineering (ICDE) (2016).
  • 10.
    Schwalb, D., Bk, G.K., Dreseler, M., S, A., Faust, M., Hohl, A., Berning, T., Makkar, G., Plattner, H., Deshmukh, P.: Hyrise-NV: Instant Recovery for In-Memory Databases using Non-Volatile Memory. International Conference on Database Systems for Advanced Applications (DASFAA) (2016).
  • 11.
    Schwalb, D., Berning, T., Faust, M., Dreseler, M., Plattner, H.: nvm_malloc: Memory Allocation for NVRAM. International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (ADMS), in Conjuction with VLDB (2015).
  • 12.
    Schwalb, D., BK, G., Faust, M., S, A., Dreseler, M., Hohl, A., Berning, T., Makkar, G., Deshmukh, P.: Using non-volatile RAM for inherent persistence and fast recovery of an in-memory database. ACM Symposium on Cloud Computing (SoCC) (2015).
  • 13.
    Schwalb, D., Dreseler, M., Uflacker, M., Plattner, H.: NVC-Hashmap: A Persistent and Concurrent Hashmap For Non-Volatile Memories. In-Memory Data Management Workshop (IMDM), in conjunction with VLDB (2015).
  • 14.
    Schwalb, D., Dreseler, M., Faust, M., Wust, J., Plattner, H.: Split Dictionaries for In-Memory Column Stores in Mixed Workload Environments. Australasian Database Conference (ADC) (2014).
  • 15.
    Alsubaiee, S., Behm, A., Borkar, V., Heilbron, Z., Kim, Y.-S., Carey, M.J., Dreseler, M., Li, C.: Storage Management in AsterixDB. Proceedings of the VLDB Endowment (2014).
  • 16.
    Gumienny, R., Gericke, L., Dreseler, M., Meyer, S., Meinel, C.: User-centered Development of Social Collaboration Software. Collaborative Communities for Social Сomputing (CollaborateCom) (2011).