In this talk, we describe how Persistent Memory (PMEM) can be used to speed up a relational database like PostgreSQL. While persistent memory is traditionally used to store and speed up database transaction logs, a,k.a Write Ahead Logs (WAL) in PostgreSQL, we look at other interesting possibilities. For example, we discuss using PMEM as a large persistent cache for the database, its impact on read transaction performance, and its challenges. We look at how the relation data files of the database itself can be on PMEM, and how we can provide redundancy in this scenario. We also look at some of the challenges of adapting traditional databases like PostgreSQL to PMDK. We will discuss test results of case studies we have carried out with these options. Finally, we will explore how various operating parameters of the database like size of the database, sizes of available DRAM and PMEM all play a role in determining what is the best use of PMEM.
Previously unexplored modes of using PMEM with databases like PostgreSQL.,Challenges of adapting traditional databases to PMEM.,Size does matter: how to make the best use of PMEM based on various sizes.
Naresh Kumar Inna, Co-founder and CEO, Memhive
Keshav Prasad, Co-founder and CTO, Memhive