Abstract

Configuration tuning is vital to optimize the performance of a database management system (DBMS). It becomes more tedious and urgent for cloud databases (CDB) due to diverse database instances and query workloads, which make the job of a database administrator (DBA) very difficult. Existing solutions for automatic DBMS configuration tuning have several limitations. Firstly, they adopt a pipelined learning model but cannot optimize the overall performance in an end-to-end manner. Secondly, they rely on large-scale high-quality training samples which are hard to obtain. Thirdly, existing approaches cannot recommend reasonable configurations for a large number of knobs to tune whose potential values live in such high-dimensional continuous space. Lastly, in cloud environments, existing approaches can hardly cope with the changes of hardware configurations and workloads, and have poor adaptability. To address these challenges, we design an end-to-end automatic CDB tuning system, {texttt {CDBTune}}^{+}, using deep reinforcement learning (RL). {texttt {CDBTune}}^{+} utilizes the deep deterministic policy gradient method to find the optimal configurations in a high-dimensional continuous space. {texttt {CDBTune}}^{+} adopts a trial-and-error strategy to learn knob settings with a limited number of samples to accomplish the initial training, which alleviates the necessity of collecting a massive amount of high-quality samples. {texttt {CDBTune}}^{+} adopts the reward-feedback mechanism in RL instead of traditional regression, which enables end-to-end learning and accelerates the convergence speed of our model and improves the efficiency of online tuning. Besides, we propose effective techniques to improve the training and tuning efficiency of {texttt {CDBTune}}^{+} for practical usage in a cloud environment. We conducted extensive experiments under 7 different workloads on real cloud databases to evaluate {texttt {CDBTune}}^{+}. Experimental results showed that {texttt {CDBTune}}^{+} adapts well to a new hardware environment or workload, and significantly outperformed the state-of-the-art tuning tools and DBA experts.

Highlights

  • The performance of database management systems (DBMSs) relies on hundreds of tunable configuration knobs

  • We first evaluate the benefits of our custom reward function, explore how the coefficients CT and CL will affect the performance of a DBMS

  • For verifying the benefits of our custom reward function in the training and tuning process, we compare it with three baseline reward functions including (1) RF-A: where the performance at the current step is compared only to the performance of the previous step, (2) RF-B: the performance of the current step is compared only to the performance with the initial settings, and (3) RF-C: if the current performance is lower than at the previous step, the corresponding reward part will keep the original method of calculation (for example, its reward remains unchanged even if Δt→t−1 is negative in Eq (8))

Read more

Summary

Introduction

The performance of database management systems (DBMSs) relies on hundreds of tunable configuration knobs. We list 65 commonly used knobs for users to tune the performance of their cloud database in Appendix C. The tunable knob innodb_buffer_pool_size is the memory space in which indexes, caches, buffers, etc. D shows the performance surface of a CDB (Read-Write workload of Sysbench, physical memory = 8 GB, disk = 100 GB). Only a few experienced database administrators (DBAs) master the skills of setting appropriate knob configurations. In cloud databases (CDB), even the most experienced DBAs cannot solve most of the tuning problems. Cloud database service providers are facing the challenge that they have to tune cloud database systems for a large number of users with a limited number of expensive DBA experts. Developing effective systems to accomplish automatic parameter configuration and optimization becomes an indispensable way to overcome this challenge

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call