Autonomic Workload Management for Database Management Systems
Workload Management , Autonomic Computing , Database Management Systems
In today’s database server environments, multiple types of workloads, such as on-line transaction processing, business intelligence and administrative utilities, can be present in a system simultaneously. Workloads may have different levels of business importance and distinct performance objectives. When the workloads execute concurrently on a database server, interference may occur and result in the workloads failing to meet the performance objectives and the database server suffering severe performance degradation. To evaluate and classify the existing workload management systems and techniques, we develop a taxonomy of workload management techniques. The taxonomy categorizes workload management techniques into multiple classes and illustrates a workload management process. We propose a general framework for autonomic workload management for database management systems (DBMSs) to dynamically monitor and control the flow of the workloads and help DBMSs achieve the performance objectives without human intervention. Our framework consists of multiple workload management techniques and performance monitor functions, and implements the monitor–analyze–plan–execute loop suggested in autonomic computing principles. When a performance issue arises, our framework provides the ability to dynamically detect the issue and to initiate and coordinate the workload management techniques. To detect severe performance degradation in database systems, we propose the use of indicators. We demonstrate a learning-based approach to identify a set of internal DBMS monitor metrics that best indicate the problem. We illustrate and validate our framework and approaches using a prototype system implemented on top of IBM DB2 Workload Manager. Our prototype system leverages the existing workload management facilities and implements a set of corresponding controllers to adapt to dynamic and mixed workloads while protecting DBMSs against severe performance degradation.