How to Build a Non-Volatile Memory DBMS


For the first time in 25 years, a new non-volatile memory category is being created that is expected to be 1000 times faster than current durable storage devices. This blurs the gap between memory and storage. In this tutorial, we provide an outline on how to build a new database management system given the changes to hardware landscape due to emerging non-volatile memory technologies.


Date: May 14, 2017 (Sunday)
Time: 2:00 – 3:30 P.M.
Location: Continental C, Hilton Chicago, 720 South Michigan Avenue
Presenters: Joy Arulraj and Andrew Pavlo, Carnegie Mellon University


The difference in the performance characteristics of volatile (DRAM) and non-volatile storage devices (HDD/SSDs) influences the design of database management systems (DBMSs). The key assumption has always been that the latter is much slower than the former. This affects all aspects of a DBMS’s runtime architecture. But the arrival of new non-volatile memory (NVM) storage that is almost as fast as DRAM with fine-grained read/writes invalidates these previous design choices. In this tutorial, we provide an outline on how to build a new DBMS given the changes to hardware landscape due to NVM. We survey recent developments in this area, and discuss the lessons learned from prior research on designing NVM database systems. We highlight a set of open research problems, and present ideas for solving some of them.


Slides: Available here.

Video: Will be posted after the event.
Paper: Available here.


Joy Arulraj is a Ph.D. candidate at Carnegie Mellon University. His research focuses on the design and implementation of non-volatile memory (NVM) database management systems. His work spans instantaneous recovery protocols, architectures for NVM storage engines, and data management on multi-tier storage hierarchies. He is a recipient of the 2016 Samsung Ph.D. Fellowship, and is a 2017 ACM Heidelberg Laureate. He interned at the Microsoft Research Database Group in 2016.

Andrew Pavlo is an Assistant Professor of Databaseology in the Computer Science Department at Carnegie Mellon University. At CMU, he is a member of the Database Group and the Parallel Data Laboratory. His work is also in collaboration with the Intel Science and Technology Center for Big Data.