An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning

Configuration tuning is vital to optimize the performance of database management system (DBMS). It becomes more tedious and urgent for cloud databases (CDB) due to the diverse database instances and query workloads, which make the database administrator (DBA) incompetent. Although there are some studies on automatic DBMS configuration tuning, they 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, there are a large number of knobs that are in continuous space and have unseen dependencies, and they cannot recommend reasonable configurations in such high-dimensional continuous space. Lastly, in cloud environment, they 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, CDBTune, using deep reinforcement learning (RL). CDBTune utilizes the deep deterministic policy gradient method to find the optimal configurations in high-dimensional continuous space. CDBTune adopts a try-and-error strategy to learn knob settings with a limited number of samples to accomplish the initial training, which alleviates the difficulty of collecting massive high-quality samples. 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 efficiency of online tuning. We conducted extensive experiments under 6 different workloads on real cloud databases to demonstrate the superiority of CDBTune. Experimental results showed that CDBTune had a good adaptability and significantly outperformed the state-of-the-art tuning tools and DBA experts.

[1]  Mohamed F. Mokbel,et al.  SARD: A statistical approach for ranking database tuning parameters , 2008, 2008 IEEE 24th International Conference on Data Engineering Workshop.

[2]  Michael Stonebraker,et al.  The Asilomar report on database research , 1998, SGMD.

[3]  Yuqing Zhu,et al.  BestConfig: tapping the performance potential of systems via automatic configuration tuning , 2017, SoCC.

[4]  Jorge-Arnulfo Quiané-Ruiz,et al.  Towards zero-overhead static and adaptive indexing in Hadoop , 2013, The VLDB Journal.

[5]  Martin L. Kersten,et al.  Self-organizing tuple reconstruction in column-stores , 2009, SIGMOD Conference.

[6]  Graham Wood,et al.  Automatic Performance Diagnosis and Tuning in Oracle , 2005, CIDR.

[7]  Anastasia Ailamaki,et al.  Continuous resource monitoring for self-predicting DBMS , 2005, 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[8]  Daniel C. Zilio,et al.  Physical database design decision algorithms and concurrent reorganization for parallel database systems , 1998 .

[9]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[10]  Martin L. Kersten,et al.  Database Cracking , 2007, CIDR.

[11]  Surajit Chaudhuri,et al.  Table of Contents (pdf) , 2007, VLDB.

[12]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 2005, IEEE Transactions on Neural Networks.

[13]  Vivek R. Narasayya,et al.  Integrating vertical and horizontal partitioning into automated physical database design , 2004, SIGMOD '04.

[14]  Michael Reichert,et al.  Autonomic tuning expert: a framework for best-practice oriented autonomic database tuning , 2008, CASCON '08.

[15]  Margo I. Seltzer,et al.  Using probabilistic reasoning to automate software tuning , 2004, SIGMETRICS '04/Performance '04.

[16]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[17]  Gang Chen,et al.  Database Meets Deep Learning: Challenges and Opportunities , 2016, SGMD.

[18]  Gerhard Weikum,et al.  Rethinking Database System Architecture: Towards a Self-Tuning RISC-Style Database System , 2000, VLDB.

[19]  Alex Graves,et al.  Playing Atari with Deep Reinforcement Learning , 2013, ArXiv.

[20]  David Elkind,et al.  Learning: An Introduction , 1968 .

[21]  Sam Lightstone,et al.  Automated design of multidimensional clustering tables for relational databases , 2004, VLDB.

[22]  Surajit Chaudhuri,et al.  Database tuning advisor for microsoft SQL server 2005: demo , 2005, SIGMOD '05.

[23]  Patrick Martin,et al.  Techniques for automatically sizing multiple buffer pools in DB2 , 2003, CASCON.

[24]  Benoît Dageville,et al.  Oracle's SQL Performance Analyzer , 2008, IEEE Data Eng. Bull..

[25]  Sam Lightstone,et al.  DB2 Design Advisor: Integrated Automatic Physical Database Design , 2004, VLDB.

[26]  Surajit Chaudhuri,et al.  Database Tuning Advisor for Microsoft SQL Server 2005 , 2004, VLDB.

[27]  Gerhard Weikum,et al.  Self-tuning Database Technology and Information Services: from Wishful Thinking to Viable Engineering , 2002, VLDB.

[28]  Geoffrey E. Hinton,et al.  Reducing the Dimensionality of Data with Neural Networks , 2006, Science.

[29]  Stéphane Bressan,et al.  Regularized Cost-Model Oblivious Database Tuning with Reinforcement Learning , 2016, Trans. Large Scale Data Knowl. Centered Syst..

[30]  Jens Dittrich,et al.  The Case for Automatic Database Administration using Deep Reinforcement Learning , 2018, ArXiv.

[31]  Harumi A. Kuno,et al.  Self-selecting, self-tuning, incrementally optimized indexes , 2010, EDBT '10.

[32]  Harumi A. Kuno,et al.  Merging What's Cracked, Cracking What's Merged: Adaptive Indexing in Main-Memory Column-Stores , 2011, Proc. VLDB Endow..

[33]  Surajit Chaudhuri,et al.  AutoAdmin “what-if” index analysis utility , 1998, SIGMOD '98.

[34]  Gerhard Weikum,et al.  The COMFORT Automatic Tuning Project, Invited Project Review , 1994, Inf. Syst..

[35]  Anthony K. H. Tung,et al.  A new approach to dynamic self-tuning of database buffers , 2008, TOS.

[36]  Benoît Dageville,et al.  Self-Tuning for SQL Performance in Oracle Database 11g , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[37]  Alekh Jindal,et al.  The Uncracked Pieces in Database Cracking , 2013, Proc. VLDB Endow..

[38]  Zenglin Xu,et al.  Superneurons: dynamic GPU memory management for training deep neural networks , 2018, PPoPP.

[39]  Surajit Chaudhuri,et al.  3 Self-Tuning Histograms : Exploiting Execution Feedback , 2006 .

[40]  Stratos Idreos,et al.  The Data Calculator: Data Structure Design and Cost Synthesis from First Principles and Learned Cost Models , 2018, SIGMOD Conference.

[41]  Chun Zhang,et al.  Automating physical database design in a parallel database , 2002, SIGMOD '02.

[42]  Yoav Goldberg,et al.  A Primer on Neural Network Models for Natural Language Processing , 2015, J. Artif. Intell. Res..

[43]  Christian S. Jensen,et al.  A Reinforcement Learning Approach for Adaptive Query Processing , 2008 .

[44]  Dries Naudts,et al.  A Q-Learning Scheme for Fair Coexistence Between LTE and Wi-Fi in Unlicensed Spectrum , 2018, IEEE Access.

[45]  Lin Ma,et al.  Self-Driving Database Management Systems , 2017, CIDR.

[46]  Geoffrey J. Gordon,et al.  Automatic Database Management System Tuning Through Large-scale Machine Learning , 2017, SIGMOD Conference.

[47]  Shivnath Babu,et al.  Tuning Database Configuration Parameters with iTuned , 2009, Proc. VLDB Endow..

[48]  Yuval Tassa,et al.  Continuous control with deep reinforcement learning , 2015, ICLR.

[49]  Geoffrey E. Hinton,et al.  Deep Learning , 2015, Nature.

[50]  Tom Schaul,et al.  Prioritized Experience Replay , 2015, ICLR.

[51]  Magdalena Balazinska,et al.  Learning State Representations for Query Optimization with Deep Reinforcement Learning , 2018, DEEM@SIGMOD.

[52]  Eva Kwan,et al.  Automatic Configuration for IBM ® DB2 Universal , 2002 .

[53]  Barzan Mozafari,et al.  DBSherlock: A Performance Diagnostic Tool for Transactional Databases , 2016, SIGMOD Conference.

[54]  WeikumGerhard,et al.  The COMFORT automatic tuning project , 1994 .

[55]  Surajit Chaudhuri,et al.  Automatic physical database tuning: a relaxation-based approach , 2005, SIGMOD '05.

[56]  Paul Brown,et al.  CORDS: automatic discovery of correlations and soft functional dependencies , 2004, SIGMOD '04.

[57]  Olga Papaemmanouil,et al.  Deep Reinforcement Learning for Join Order Enumeration , 2018, aiDM@SIGMOD.

[58]  Sam Lightstone,et al.  Automatic Database Configuration for DB2 Universal Database: Compressing Years of Performance Expertise into Seconds of Execution , 2003, BTW.

[59]  Sam Lightstone,et al.  Adaptive self-tuning memory in DB2 , 2006, VLDB.