Paper 2

Boosting OLTP Performance Using Write-Back Client-Side Caches

Authors: Shahram Ghandeharizadeh, Haoyu Huang, Hieu Nguyen

Volume 48 (2021)

Abstract

We present a comprehensive evaluation of client-side caches to enhance the performance of MySQL for online transaction processing (OLTP) workloads. We focus on TPC-C benchmark and the write-back policy of the client-side cache. With this policy, the cache processes all application writes and propagates them to its data store asynchronously. We observe with 1 TPC-C warehouse, the cache enhances performance of MySQL InnoDB by 70%. The cache scales horizontally as a function of the number of warehouses and servers to boost TPC-C’s tpm-C by factors as high as 25 folds with 100 warehouses and 20 servers. The main limitation of the cache is its requirement for an abundant amount of memory. We extend the cache with a transaction processing storage manager (Berkeley DB, BDB) to minimize its amount of required memory, quantifying its impact on TPC-C’s tpm-C. We detail two variants, Async-BDB and Sync-BDB. The slowest variant, Sync-BDB, continues to scale horizontally to boost TPC-C performance by more than 13 folds with 100 TPC-C warehouses.