AutoAdmin Project at Microsoft Research: Lessons Learned

The AutoAdmin project was started at Microsoft Research in 1996. The goal of AutoAdmin is to develop technology that makes database systems more self-tuning and self-managing. Initially, we focused mainly on the physical database design problem. In subsequent years we broadened our focus and studied a number of other problems: database monitoring, execution feedback for query optimization, flexible hinting mechanisms for query optimizers, query progress estimation and index defragmentation. One discipline we consistently followed in this project was that of implementing our techniques in the database server (in our case this was Microsoft SQL Server). This helped us better understand the applicability and limitations of our ideas and made it possible for our work to have impact on the Microsoft SQL Server product. In this article, we summarize some of the key technical lessons we have learned in the AutoAdmin project. Thus our discussions center around work done in AutoAdmin and does not cover the extensive related work done in other related projects in the database community (see [21] for an overview of work on self-tuning database systems). We focus our discussion on three problems: (1) physical database design, (2) exploiting feedback from execution for query optimization, and (3) query progress estimation. More details of AutoAdmin can be found on the project website [1].

[1]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

[2]  Surajit Chaudhuri,et al.  Compressing SQL workloads , 2002, SIGMOD '02.

[3]  Surajit Chaudhuri,et al.  An Online Approach to Physical Design Tuning , 2007, 2007 IEEE 23rd International Conference on Data Engineering.

[4]  Surajit Chaudhuri,et al.  Table of Contents (pdf) , 2007, VLDB.

[5]  Vivek R. Narasayya,et al.  Compression Aware Physical Database Design , 2011, Proc. VLDB Endow..

[6]  L. M. Lieberman,et al.  What If … , 1983, Journal of learning disabilities.

[7]  Surajit Chaudhuri,et al.  AutoAdmin “what-if” index analysis utility , 1998, SIGMOD '98.

[8]  Surajit Chaudhuri,et al.  Diagnosing Estimation Errors in Page Counts Using Execution Feedback , 2008, 2008 IEEE 24th International Conference on Data Engineering.

[9]  Surajit Chaudhuri,et al.  When can we trust progress estimators for SQL queries? , 2005, SIGMOD '05.

[10]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[11]  Surajit Chaudhuri,et al.  A pay-as-you-go framework for query execution feedback , 2008, Proc. VLDB Endow..

[12]  Vivek R. Narasayya,et al.  Integrating vertical and horizontal partitioning into automated physical database design , 2004, SIGMOD '04.

[13]  Raghav Kaushik,et al.  Estimating the compression fraction of an index using sampling , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[14]  Nicolas Bruno,et al.  Configuration-parametric query optimization for physical design tuning , 2008, SIGMOD Conference.

[15]  Surajit Chaudhuri,et al.  Self-tuning histograms: building histograms without looking at data , 1999, SIGMOD '99.

[16]  Volker Markl,et al.  LEO - DB2's LEarning Optimizer , 2001, VLDB.

[17]  Surajit Chaudhuri,et al.  Automated Selection of Materialized Views and Indexes in SQL Databases , 2000, VLDB.

[18]  Surajit Chaudhuri,et al.  Index merging , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[19]  Rajeev Motwani,et al.  Random sampling for histogram construction: how much is enough? , 1998, SIGMOD '98.

[20]  Surajit Chaudhuri,et al.  A Statistical Approach Towards Robust Progress Estimation , 2011, Proc. VLDB Endow..

[21]  Arnd Christian König,et al.  Scalable Exploration of Physical Database Design , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[22]  Surajit Chaudhuri,et al.  To tune or not to tune?: a lightweight physical design alerter , 2006, VLDB.

[23]  Surajit Chaudhuri,et al.  Constrained physical design tuning , 2009, The VLDB Journal.

[24]  Surajit Chaudhuri,et al.  Database tuning advisor for microsoft SQL server 2005: demo , 2005, SIGMOD '05.

[25]  Luis Gravano,et al.  STHoles: a multidimensional workload-aware histogram , 2001, SIGMOD '01.

[26]  Peter J. Haas,et al.  ISOMER: Consistent Histogram Construction Using Query Feedback , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[27]  Surajit Chaudhuri,et al.  An Efficient Cost-Driven Index Selection Tool for Microsoft SQL Server , 1997, VLDB.

[28]  Surajit Chaudhuri,et al.  Estimating Progress of Long Running SQL Queries , 2004, SIGMOD Conference.

[29]  Goetz Graefe The Cascades Framework for Query Optimization , 1995, IEEE Data Eng. Bull..