| To achieve optimal performance,configuration parameters for a database must be adjusted based on the hardware environment and running load deployed.Previous automatic tuning methods for database parameters treated the database instance as a black box and automatically found the best configuration parameters by collecting and observing performance data under various configurations.However,these black-box methods have some limitations.Firstly,they judge the quality of a set of parameters by observing the overall performance of the database(such as transactions per second),but cannot accurately identify which parameters cause performance changes.In the automatic tuning process,irrelevant parameters may also be adjusted.Secondly,previous methods iteratively search for better configurations,but each iteration only takes a short time.This is not sufficient for complex databases(such as distributed databases)in actual production environments,as only a few database functional modules are triggered in a short time.Thirdly,the functions of a database are jointly designed and maintained to ensure overall performance.Each functional module has its own metrics to evaluate its status.Adjusting all parameters based on overall performance alone cannot ensure good collaboration among multiple functional modules.To address these limitations,this paper proposes a modular database system approach and develops a feature-aware database parameter automatic tuning system called OBTune.OBTune adopts the idea of multi-task learning,decomposing the tuning task of a database instance into tuning tasks for various functional modules.The parameter tuning task of each functional module is treated as an auxiliary task to help adjust the overall performance of the database.Through information sharing among different tasks,OBTune can accurately identify which module’s parameters cause performance changes and avoid adjusting irrelevant parameters.The experimental results of this paper on the distributed database Ocean Base and the traditional database Postgre SQL show that OBTune can precisely adjust parameters when multiple functional modules of the database are triggered by complex workloads.While optimizing the overall performance of the database,OBTune also improves the performance of each functional module and has good tuning effects.The contributions of this paper are summarized as follows:(1)Designed a fake parameter experiment to validate the limitations of existing methods.By designing fake parameters and placing them in the parameter tuning list of existing tuning tools to start tuning tasks,the experimental results demonstrate that existing black-box automatic tuning methods adjust parameters that are irrelevant to the overall database performance.This may apply unreasonable parameters to online database instances and introduce potential risks.(2)Used multi-task Gaussian processes to solve the problem of adjusting irrelevant parameters.The multi-task learning was mapped to the parameter automatic tuning scenario and applied the multi-task Gaussian process to solve the tuning problem.In the parameter automatic tuning scenario,classical Gaussian processes have highquality characteristics,but cannot handle multi-dimensional inputs,outputs,and obtain potential connections between multiple tasks.The multi-task Gaussian process is an extension of multi-task learning in the Gaussian process context and effectively solves the problems in the tuning scenario.(3)Developed a feature-aware tuning system called OBTune to jointly tune the overall performance of the database and each functional module.The modularization method of database functions was proposed,and the feature-aware tuning system OBTune was implemented.Multiple experiments were performed on the distributed database Ocean Base and the traditional database Postgre SQL.The experimental results show that OBTune can adjust parameters targetedly and accurately,which outperforms other tuning systems.This paper implemented the feature-aware database parameter automatic tuning system OBTune as a third-party tool and validated that the parameter tuning method based on modularization and multi-task learning can simultaneously optimize the overall performance of a database and the performance of multiple functional modules.It does not adjust irrelevant parameters and is applicable to complex databases in actual production environments. |