Workload Adaptation in Autonomic Database Management Systems
MetadataShow full item record
Workload adaptation is a performance management process in which an autonomic database management system (DBMS) efficiently makes use of its resources by filtering or controlling the workload presented to it in order to meet its Service Level Objectives (SLOs). It is a challenge to adapt multiple workloads with complex resource requirements towards their performance goals while taking their business importance into account. This thesis studies approaches and techniques for workload adaptation. First we build a general framework for workload adaptation in autonomic DBMSs, which is composed of two processes, namely workload detection and workload control. The processes are in turn made up of four functional components - workload characterization, performance modeling, workload control, and system monitoring. We then implement a query scheduler that performs workload adaptation in a DBMS, as the test bed to prove the effectiveness of the framework. The query scheduler manages multiple classes of queries to meet their performance goals by allocating DBMS resources through admission control in the presence of workload fluctuation. The resource allocation plan is derived by maximizing the objective function that encapsulates the performance goals of all classes and their importance to the business. First-principle performance models are used to predict the performance under the new resource allocation plan. Experiments with IBM® DB2® are conducted to show the effectiveness of the framework. The effectiveness of the workload adaptation depends on the accuracy of the performance prediction. Finally we introduce a tracking filter (Kalman filter) to improve the accuracy of the performance prediction. Experimental results show that the approach is able to reduce the number of unpredicted SLO violations and prediction errors.