Back to Search
Start Over
A Top-Down Approach to Achieving Performance Predictability in Database Systems
- Source :
- SIGMOD Conference
- Publication Year :
- 2017
- Publisher :
- ACM, 2017.
-
Abstract
- While much of the research on transaction processing has focused on improving overall performance in terms of throughput and mean latency, surprisingly less attention has been given to performance predictability: how often individual transactions exhibit execution latency far from the mean. Performance predictability is increasingly important when transactions lie on the critical path of latency-sensitive applications, enterprise software, or interactive web services. In this paper, we focus on understanding and mitigating the sources of performance unpredictability in today's transactional databases. We conduct the first quantitative study of major sources of variance in MySQL, Postgres (two of the largest and most popular open-source products on the market), and VoltDB (a non-conventional database). We carry out our study with a tool called TProfiler that, given the source code of a database system and programmer annotations indicating the start and end of a transaction, is able to identify the dominant sources of variance in transaction latency. Based on our findings, we investigate alternative algorithms, implementations, and tuning strategies to reduce latency variance without compromising mean latency or throughput. Most notably, we propose a new lock scheduling algorithm, called Variance-Aware Transaction Scheduling (VATS), and a lazy buffer pool replacement policy. In particular, our modified MySQL exhibits significantly lower variance and 99th percentile latencies by up to 5.6× and 6.3×, respectively. Our proposal has been welcomed by the open-source community, and our VATS algorithm has already been adopted as of MySQL's 5.7.17 release (and been made the default scheduling policy in MariaDB).
- Subjects :
- Source code
Database
Computer science
Transaction processing
media_common.quotation_subject
Distributed computing
020207 software engineering
02 engineering and technology
computer.software_genre
Lock (computer science)
Scheduling (computing)
020204 information systems
0202 electrical engineering, electronic engineering, information engineering
Distributed transaction
Online transaction processing
Latency (engineering)
computer
Database transaction
Critical path method
media_common
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- Proceedings of the 2017 ACM International Conference on Management of Data
- Accession number :
- edsair.doi...........ef80a14c519af49ccf6a3afd955c8710
- Full Text :
- https://doi.org/10.1145/3035918.3064016