About This Project

Predictability is an important virtue that has long been neglected by the database research community. However, with the performance of modern database systems becoming more and more unpredictable, the task of provisioning and tuning databases has become more and more difficult.

In this project, we aim to bring back such an important aspect of database systems by redesigning certain components of the database systems, so that the database systems not only provides high performance, but also maintains such high level of performance.


Overview

For decades of research on database systems has mostly focused on improving average raw performance. This competition for faster performance has, understandably, neglected predictability of our database management systems. However, as database systems have become more complex, their erratic and unpredictable performance has become a major challenge facing database users and administrators alike. With the increasing reliance of mission-critical business applications on their databases, maintaining high levels of database performance (i.e., service level guarantees) is now more important than ever. Cloud users find it challenging to provision and tune their database instances, due to the highly non-linear and unpredictable nature of today's databases. Even for deployed databases, performance tuning has become somewhat of a black art, rendering qualified database administrators a scare resource. In this project, we restore the missing virtue of predictability in the design of database systems. First, we quantify the major sources of uncertainty in a database in a principled manner. Then, by rethinking the traditional design of a database system, we architect a new generation of databases that treat predictability as a first class-citizen in their various stages of query processing, from physical design to memory management and query scheduling. Moreover, to accommodate existing database systems (which are not predictable by design), we provide effective tools and methodologies for predicting their performance more accurately. Building a predictable database in a bottom-up fashion and in a principled manner, offers great insight into improving existing database products and can instigate a radical shift in the way that future databases are designed and implemented.

Challenges

The challenge of improving the predictability of database systems is twofold. First, we need to diagnose the problem and figure out the root causes of performance unpredictability before we can actual solve the problems. This is made difficult by the growing complexity of modern database systems, with hundreds of possible root causes (I/Os, contention, scheduling choice, etc.). For this, we propose a profiling tool VProfiler that aims to identify the root causes of transaction latency variance using a novel notion of variance tree. We also have a diagnosing tool, DBSeer, to automatically diagnose performance anormalies and reason about the most likely causes from log files. The second challenge is to figure out solutions after identifying the root causes. We propose several techniques to tackle the root causes we discover from our case studies on the popular open source databases, including traditional ones and modern ones, and some of those techniques have been adopted by some real-life open source database systems. Our Variance-Aware-Transaction-Scheduling (VATS) algorithm has made its way into MariaDB, while our Largest-Dependency-Set-First (LDSF) algorithm has been merged by MySQL, the most popular open source database system in the world.

Performance

We tested our VATS algorithm using the five different workloads, each with different degree of contention. The client runs the OLTP-Bench framework to send queries to MySQL, which runs on another server running Red Hat Enterprise Linux 6.5 with 2 Intel(R) Xeon(R) CPU E5-2450 processors and 2.10GHz cores. The MySQL server is configured with a 30GB buffer pool, enough to hold most of the data in the database in it. The five workloads are TPC-C, SEATS, TATP, Epinions and YCSB, the first three of which are contended workloads and the last two have little contention. VATS works best on workloads with contention, since in workloads with no contention, there is no scheduling decisions to make. On average, VATS achieves 2.9x improvement in mean latency, 2.8x improvement in variance and 1.5x improvement in 99th percentile across the contended workloads.

For the LDSF algorithm, all experiments were performed using a 5 GB buffer pool on a Linux server with 16 Intel(R) Xeon(R) CPU E5-2450 processors and 2.10GHz cores. The clients were run on a separate machine, submitting transactions to MySQL 5.7 running on the server. We used the OLTP-Bench tool to run the TPC-C workload. We also modified this tool to run a microbenchmark (please find details about the microbenchmark and the algorithms involved in the figure in our paper). OLTP-Bench generated transactions at a specified rate, and client threads issued these transactions to MySQL. The latency of each transaction was calculated as the time from when it was issued until it finished. In all experiments, we controlled the number of transactions issued per second within a safe range to prevent MySQL from falling into a thrashing regime. bLDSF outperforms FIFO by 6.5x in throughput and 300x in average latency. Although bLDSF works better than LDSF, we implemented LDSF in MySQL because of its simplicity.
Performance Improvement of VATS
Performance Boost for Another Commercial DBMS

Download

Download VProfiler's Latest Release.

Download DBSeer's Latest Release.

Download CliffGuard's Latest Release.

(All of them are available under the Apache License, Version 2.0)

Publications

NSF Award

Program Manager: Maria Zemankova

This project has started on February 1, 2016 and will end on January 31, 2021 (Estimated).

This material is based upon the work supported by the National Science Foundation under Grant No. 1553169

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.