Automatic Configuration Tuning on Cloud Database: A Survey
<|reference_start|>Automatic Configuration Tuning on Cloud Database: A Survey: Faced with the challenges of big data, modern cloud database management systems are designed to efficiently store, organize, and retrieve data, supporting optimal performance, scalability, and reliability for complex data processing and analysis. However, achieving good performance in modern databases is non-trivial as they are notorious for having dozens of configurable knobs, such as hardware setup, software setup, database physical and logical design, etc., that control runtime behaviors and impact database performance. To find the optimal configuration for achieving optimal performance, extensive research has been conducted on automatic parameter tuning in DBMS. This paper provides a comprehensive survey of predominant configuration tuning techniques, including Bayesian optimization-based solutions, Neural network-based solutions, Reinforcement learning-based solutions, and Search-based solutions. Moreover, it investigates the fundamental aspects of parameter tuning pipeline, including tuning objective, workload characterization, feature pruning, knowledge from experience, configuration recommendation, and experimental settings. We highlight technique comparisons in each component, corresponding solutions, and introduce the experimental setting for performance evaluation. Finally, we conclude this paper and present future research opportunities. This paper aims to assist future researchers and practitioners in gaining a better understanding of automatic parameter tuning in cloud databases by providing state-of-the-art existing solutions, research directions, and evaluation benchmarks.<|reference_end|>
@article{zhang2024automatic,
    title={Automatic Configuration Tuning on Cloud Database: A Survey},
    author={Limeng Zhang and M. Ali Babar},
    journal={arXiv preprint arXiv:2404.06043},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.06043},
    primaryClass={cs.DB}
}