OtterTune
The ability to collect, process, and analyze large amounts of data is paramount for being able to extrapolate new knowledge in business, scientific, and medical applications. Database management systems (DBMSs) are the critical component of modern “Big Data” applications because they are the central repository for all of this information. But tuning a DBMS to perform well is historically a difficult task because they have hundreds of configuration “knobs” that control everything in the system, such as the amount of memory to use and how often data is written. Getting these settings wrong will prevent the system from answering questions about data in a reasonable amount of time or even cause it to lose data. Many organizations resort to hiring experts to configure these knobs, but this is prohibitively expensive. Personnel cost is estimated to be almost 50% of the total ownership cost of a DBMS, and many administrators spend nearly a quarter of their time on these tuning activities. Furthermore, as databases grow in both size and complexity, optimizing a DBMS to meet the needs of new applications has surpassed the abilities of even the best human experts. Thus, the goal of this proposal is to develop the foundation and corresponding practical techniques for the automatic configuration of DBMSs by using machine learning on large-scale collections of historical performance data. Our approach will differ from previous work in that we seek to reduce the amount of time that is needed to train the algorithms that tune the DBMS for each application by relying on knowledge gained from previous tuning efforts. The results from this work will allow anyone to deploy a DBMS that is able to handle large amounts of data and more complex workloads without any expertise in database administration.
Achieving good performance in a database management system (DBMS) is non-trivial because they are complex systems with many tunable options that control nearly all aspects of their runtime operation. Getting this tuning right is critical for modern high-volume and high-throughput workloads, as the performance gains can be significant. As such, many organizations resort to hiring an expensive database administrator to manually tune their DBMS. But the size and complexity of databases have now surpassed the abilities of even the best human experts. Hence, we plan to develop automatic techniques for tuning and optimizing DBMS configurations for a broad class of application workloads. We will explore the foundations of using machine learning to scale DBMSs for larger data sets, thereby removing a major impediment in deriving the full benefits of data-driven decision making applications. The crux of our approach is to map an arbitrary application’s workload to features of one or more canonical benchmarks that best represents the workload’s properties, and then to collect performance data from the DBMS using that benchmark. This data is then used to train models that will allow us to identify the dependencies between knobs and their effects on the DBMS. From this, the models will select a near-optimal knob setting for the application. This differs from earlier work that focused on optimizing a single DBMS installation in isolation and are unable to leverage knowledge gained from previous tuning efforts. Our approach will not require the user to generate a large sample data set of (potentially expensive) experiments to derive the proper configuration.
People
Acknowledgements
This research is funded (in part) by the National Science Foundation (III-1423210).
Publications
- D. V. Aken, D. Yang, S. Brillard, A. Fiorino, B. Zhang, C. Billian, and A. Pavlo, "An Inquiry into Machine Learning-based Automatic Configuration Tuning Services on Real-World Database Management Systems," Proc. VLDB Endow., vol. 14, iss. 7, pp. 1241-1253, 2021. PDF
Bibtex
@article{vanaken21, author = {Dana Van Aken and Dongsheng Yang and Sebastien Brillard and Ari Fiorino and Bohan Zhang and Christian Billian and Andrew Pavlo}, title = {An Inquiry into Machine Learning-based Automatic Configuration Tuning Services on Real-World Database Management Systems}, journal = {Proc. {VLDB} Endow.}, volume = {14}, number = {7}, pages = {1241--1253}, year = {2021}, url = {https://db.cs.cmu.edu/papers/2021/p1241-aken.pdf}, }
- A. Pavlo, M. Butrovich, A. Joshi, L. Ma, P. Menon, D. V. Aken, L. Lee, and R. Salakhutdinov, "External vs. Internal: An Essay on Machine Learning Agents for Autonomous Database Management Systems," IEEE Data Engineering Bulletin, pp. 32-46, 2019. PDF
Bibtex
@article{pavlo19, author={Andrew Pavlo and Matthew Butrovich and Ananya Joshi and Lin Ma and Prashanth Menon and Dana Van Aken and Lisa Lee and Ruslan Salakhutdinov}, title={External vs. Internal: An Essay on Machine Learning Agents for Autonomous Database Management Systems}, journal={IEEE Data Engineering Bulletin}, month={June}, year={2019}, pages={32--46}, url = {https://db.cs.cmu.edu/papers/2019/pavlo-icde-bulletin2019.pdf}, }
- B. Zhang, D. V. Aken, J. Wang, T. Dai, S. Jiang, J. Lao, S. Sheng, A. Pavlo, and G. J. Gordon, "A Demonstration of the OtterTune Automatic Database Management System Tuning Service," PVLDB, vol. 11, iss. 12, pp. 1910-1913, 2018. PDF
Bibtex
@article{zhang18-demo, author = {Bohan Zhang and Dana Van Aken and Justin Wang and Tao Dai and Shuli Jiang and Jacky Lao and Siyuan Sheng and Andrew Pavlo and Geoffrey J. Gordon}, title = {A Demonstration of the OtterTune Automatic Database Management System Tuning Service}, journal = {{PVLDB}}, volume = {11}, number = {12}, pages = {1910--1913}, year = {2018}, url = {https://www.vldb.org/pvldb/vol11/p1910-zhang.pdf}, }
- D. Van Aken, A. Pavlo, G. J. Gordon, and B. Zhang, "Automatic Database Management System Tuning Through Large-scale Machine Learning," in Proceedings of the 2017 ACM International Conference on Management of Data, 2017, pp. 1009-1024. PDF
Bibtex
@inproceedings{vanaken17, author = {Van Aken, Dana and Pavlo, Andrew and Gordon, Geoffrey J. and Zhang, Bohan}, title = {Automatic Database Management System Tuning Through Large-scale Machine Learning}, booktitle = {Proceedings of the 2017 ACM International Conference on Management of Data}, series = {SIGMOD '17}, year = {2017}, pages = {1009--1024}, numpages = {16}, url = {https://db.cs.cmu.edu/papers/2017/p1009-van-aken.pdf}, }
- D. Van Aken, D. E. Difallah, A. Pavlo, C. Curino, and P. Cudré-Mauroux, "BenchPress: Dynamic Workload Control in the OLTP-Bench Testbed," in Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, 2015, pp. 1069-1073. PDF
Bibtex
@inproceedings{vanaken15, author = {Van Aken, Dana and Difallah, Djellel E. and Pavlo, Andrew and Curino, Carlo and Cudr{\'e}-Mauroux, Philippe}, title = {BenchPress: Dynamic Workload Control in the OLTP-Bench Testbed}, booktitle = {Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data}, series = {SIGMOD '15}, year = {2015}, pages = {1069--1073}, url = {https://db.cs.cmu.edu/papers/2015/p1069-vanaken.pdf}, }