Table of Contents
Fetching ...

Analyzing Performance Characteristics of PostgreSQL and MariaDB on NVMeVirt

Juhee Han, Yoojin Choi

TL;DR

The NVMeVirt paper analyzes the implication of storage performance on database engine performance to promote the tunable performance of NVMeVirt and shows that MariaDB is more efficient when the storage is slow, but PostgreSQL outperforms MariaDB as I/O bandwidth increases.

Abstract

The NVMeVirt paper analyzes the implication of storage performance on database engine performance to promote the tunable performance of NVMeVirt. They perform analysis on two very popular database engines, MariaDB and PostgreSQL. The result shows that MariaDB is more efficient when the storage is slow, but PostgreSQL outperforms MariaDB as I/O bandwidth increases. Although this verifies that NVMeVirt can support advanced storage bandwidth configurations, the paper does not provide a clear explanation of why two database engines react very differently to the storage performance. To understand why the above two database engines have different performance characteristics, we conduct a study of the database engine's internals. We focus on three major differences in Multi-version concurrency control (MVCC) implementations: version storage, garbage collection, and index management. We also evaluated each scheme's I/O overhead using OLTP workload. Our analysis identifies the reason why MariaDB outperforms PostgreSQL when the bandwidth is low.

Analyzing Performance Characteristics of PostgreSQL and MariaDB on NVMeVirt

TL;DR

The NVMeVirt paper analyzes the implication of storage performance on database engine performance to promote the tunable performance of NVMeVirt and shows that MariaDB is more efficient when the storage is slow, but PostgreSQL outperforms MariaDB as I/O bandwidth increases.

Abstract

The NVMeVirt paper analyzes the implication of storage performance on database engine performance to promote the tunable performance of NVMeVirt. They perform analysis on two very popular database engines, MariaDB and PostgreSQL. The result shows that MariaDB is more efficient when the storage is slow, but PostgreSQL outperforms MariaDB as I/O bandwidth increases. Although this verifies that NVMeVirt can support advanced storage bandwidth configurations, the paper does not provide a clear explanation of why two database engines react very differently to the storage performance. To understand why the above two database engines have different performance characteristics, we conduct a study of the database engine's internals. We focus on three major differences in Multi-version concurrency control (MVCC) implementations: version storage, garbage collection, and index management. We also evaluated each scheme's I/O overhead using OLTP workload. Our analysis identifies the reason why MariaDB outperforms PostgreSQL when the bandwidth is low.

Paper Structure

This paper contains 21 sections, 7 figures, 1 table.

Figures (7)

  • Figure 1: Performance comparison on MariaDB and PostgreSQL on various bandwidth configurations with OLTP workload.
  • Figure 2: Performance comparison on MariaDB and PostgreSQL on various bandwidth configurations with OLAP workload.
  • Figure 3: Number of 4KB pages requested by the MariaDB and PostgreSQL during OLAP query processing.
  • Figure 4: PostgreSQL uses append-only storage scheme and MariaDB uses delta storage scheme.
  • Figure 5: PostgreSQL vacuum process.
  • ...and 2 more figures