Predicting Multiple Metrics for Queries: Better Decisions Enabled by Machine Learning

被引:140
作者
Ganapathi, Archana [1 ]
Kuno, Harumi [2 ]
Dayal, Umeshwar [2 ]
Wiener, Janet L. [2 ]
Fox, Armando [1 ]
Jordan, Michael [1 ]
Patterson, David [1 ]
机构
[1] Univ Calif Berkeley, Div Comp Sci, Berkeley, CA 94720 USA
[2] Hewlett Packard Labs, Palo Alto, CA USA
来源
ICDE: 2009 IEEE 25TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, VOLS 1-3 | 2009年
关键词
STATISTICAL VARIABLES; COMPLEX;
D O I
10.1109/ICDE.2009.130
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
One of the most challenging aspects of managing a very large data warehouse is identifying how queries will behave before they start executing. Yet knowing their performance characteristics - their runtimes and resource usage - can solve two important problems. First, every database vendor struggles with managing unexpectedly long-running queries. When these long-running queries can be identified before they start, they can be rejected or scheduled when they will not cause extreme resource contention for the other queries in the system. Second, deciding whether a system can complete a given workload in a given time period (or a bigger system is necessary) depends on knowing the resource requirements of the queries in that workload. We have developed a system that uses machine learning to accurately predict the performance metries of database queries whose execution times range from milliseconds to hours. For training and testing our system, we used both real customer queries and queries generated from an extended set of TPC-DS templates. The extensions mimic queries that caused customer problems. We used these queries to compare how accurately different techniques predict metrics such as elapsed time, records used, disk I/Os, and message bytes. The most promising technique was not only the most accurate, but also predicted these metrics simultaneously and using only information available prior to query execution. We validated the accuracy of this machine learning technique on a number of HP Neoview configurations. We were able to predict individual query elapsed time within 20% of its actual time for 85% of the test queries. Most importantly, we were able to correctly identify both the short and long-running (up to two hour) queries to inform workload management and capacity planning.
引用
收藏
页码:592 / +
页数:2
相关论文
共 23 条
[1]  
Arlitt M, 2000, PERF E R SI, V27, P3, DOI [10.1145/346000.346003, 10.1145/362883.362920]
[2]   Kernel independent component analysis [J].
Bach, FR ;
Jordan, MI .
JOURNAL OF MACHINE LEARNING RESEARCH, 2003, 3 (01) :1-48
[3]  
Chaudhuri S., 2004, PROC ACM SIGMOD C JU, P803
[4]  
Chaudhuri Surajit., 2005, P 2005 ACM SIGMOD IN, P575
[5]  
EECKHOUT L, INPUT DATA SETS CHAN
[6]  
ELNAFFAR S, 2002, AUTOMATICALLY CLASSI
[7]  
GUPTA C, 2008, P INT C AUT COMP
[8]  
Hotelling H, 1936, BIOMETRIKA, V28, P321, DOI 10.2307/2333955
[9]   Analysis of a complex of statistical variables into principal components [J].
Hotelling, H .
JOURNAL OF EDUCATIONAL PSYCHOLOGY, 1933, 24 :417-441
[10]   Performance characterization of a quad Pentium Pro SMP using OLTP workloads [J].
Keeton, K ;
Patterson, DA ;
He, YQ ;
Raphael, RC ;
Baker, WE .
25TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, :15-26