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 provide insights on how the different engines behave with PMEM and which configurations and queries perform best. Our results show that using PMEM as persistent storage usually speeds up query execution, but with some caveats as the I/O path is not fully optimized. Additionally, using PMEM in Memory mode does not offer any performance advantage despite the larger volatile memory capacity. Through the extensive coverage of engines and parameters, we provide an important starting point for exploiting PMEM in databases and tuning relational engines to take advantage of this new technology.
翻译:最近,在具有不同目的和目标的若干组合下,长期或非挥发存储(PMEM或NVM)在商业上成为了不同目的和目标的若干组合下的商业来源。尽管关注这个专题,但我们并不知道在不同的PMEM配置下对现有关系数据库引擎的全面经验分析。这样的研究对于了解各种硬件配置的性能影响以及不同的DB引擎如何从这些配置中受益非常重要。 为此,我们分析了三种不同的引擎(PostgreSQL、MySQL和SQLServer),这些引擎在共同工作量(TPC-C和TPC-H)下,拥有所有可能的PMEM配置,并得到了Intel的 Optane NVM 设备的支持(PMEM作为AppDirect模式中的持久性记忆,PMEM 作为记忆模式的耐久性能性能分析。我们的研究结果描绘了一个复杂的图景,而且由于涉及许多因素,不同发动机是如何与PMEM的配置和查询最优秀的。我们的结果表明,使用PMEM作为持久性存储执行速度通常不会加快,但是,通过某些硬质的引擎的深度的运行模式,而使I/ODMRM的机能成为了任何最佳的升级。