How to use Persistent Memory in your Database
Dimitrios Koutsoukos, Raghav Bhartia, Ana Klimovic, Gustavo Alonso

TL;DR
This paper empirically evaluates how different relational database engines perform with various configurations of persistent memory (PMEM), revealing insights into optimal usage and performance implications for databases leveraging new NVM hardware.
Contribution
It provides a comprehensive empirical analysis of PostgreSQL, MySQL, and SQLServer under different PMEM configurations and workloads, which was previously lacking.
Findings
PMEM as persistent storage generally speeds up queries.
Using PMEM in Memory mode offers no performance benefit.
Performance varies significantly with hardware configurations and query types.
Abstract
Persistent or Non Volatile Memory (PMEM or NVM) has recently become commercially available under several configurations with different purposes and goals. Despite the attention to the topic, we are not aware of a comprehensive empirical analysis of existing relational database engines under different PMEM configurations. Such a study is important to understand the performance implications of the various hardware configurations and how different DB engines can benefit from them. To this end, we analyze three different engines (PostgreSQL, MySQL, and SQLServer) under common workloads (TPC-C and TPC-H) with all possible PMEM configurations supported by Intel's Optane NVM devices (PMEM as persistent memory in AppDirect mode and PMEM as volatile memory in Memory mode). Our results paint a complex picture and are not always intuitive due to the many factors involved. Based on our findings, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Cloud Computing and Resource Management · Distributed systems and fault tolerance
