Database management systems provide functionality that is central to developing business applications. Therefore, database management systems are increasingly being used as an important component in applications. Yet, the problem of tuning database management systems for achieving required performance is significant, and results in high total cost of ownership (TCO). The goal of our research in the AutoAdmin project is to make database systems self-tuning and self-administering. We achieve this by enabling databases to track the usage of their systems and to gracefully adapt to application requirements. Thus, instead of applications having to track and tune databases, databases actively auto-tunes itself to be responsive to application needs. Our research has led to novel self-tuning components being included in Microsoft SQL Server.
Current Status
Database management systems provide functionality that is central to developing business applications. Furthermore, as new cloud database services emerge, even more applications are beginning to use database systems. Yet, the problem of tuning database management systems for achieving the required performance is significant, and results in high cost of ownership. The goal of our research in the AutoAdmin project is to make database systems more self-tuning and self-administering. We approach this by enabling databases to track the usage of their systems and to gracefully adapt to application requirements. Thus, instead of the application having to track and tune the database, the database actively monitors, diagnoses and tunes itself to be responsive to application needs. Our research has led to novel self-tuning components being included in Microsoft SQL Server.
A key area of focus is physical database design. Physical database design is the problem of identifying the physical design structures such as indexes, materialized views and partitioning that are appropriate for the database and workload so as to optimize performance. Our research on this problem led to the development an Index Tuning Wizard that shipped as part of Microsoft SQL Server 7.0 (the first tool of its kind in the industry) and Microsoft SQL Server 2000, and the Database Engine Tuning Advisor (DTA) that shipped as part of Microsoft SQL Server 2005. This work was done in close collaboration with the Microsoft SQL Server product team. More details of the tool including its underlying algorithms are available in the VLDB 1997 paper "An Efficient Cost-Driven Index Selection Tool for Microsoft SQL Server " (this paper won the VLDB 10-Year Best Paper Award), the VLDB 2000 paper "Automated Selection of Materialized Views and Indexes for SQL Databases", the SIGMOD 2004 paper "Integrating Vertical and Horizontal Partitioning into Automated Physical Database Design" and the VLDB 2004 paper "Database Tuning Advisor for Microsoft SQL Server 2005" (see Publications below).
An important requirement for a self-tuning database system is the ability to efficiently monitor the database and identify potential problems. As part of the AutoAdmin project we are investigating some of these issues. We developed a SQL Continuous Monitoring engine (SQLCM) in which DBAs can declaratively specify monitoring tasks that they wish to perform and have the engine execute these tasks efficiently. Another problem of interest is estimating the progress of long-running SQL queries which are common in decision support systems. We are also investigating how feedback from query execution can be used to improve the choice of execution plan of the query optimizer. Interestingly, there are many simple cases where existing mechanisms for obtaining execution feedback are limiting, i.e. they do not help improve the execution plan. We are therefore studying how to augment execution feedback mechanisms to overcome some of these limitations while keeping the monitoring overheads low.
In addition to physical database design tuning, we have also recently worked on other problems including flexible query hinting mechanisms, index defragmentation and application analysis and monitoring. A core DBMS engine component that is closely related our work in AutoAdmin is the query optimizer. Recently, we have started studying the issue of testing the correctness and quality of query optimizers, and quantitatively measuring their effectiveness for benchmark and real-world queries.
If you have questions about this project, please contact the Autoadmin research team (aart@microsoft.com).
- Stratos Idreos, Raghav Kaushik, Vivek Narasayya, and Ravi Ramamurthy, Estimating the Compression Fraction of an Index Using Sampling, in International Conference on Data Engineering (ICDE), IEEE, 1 March 2010
- Vivek Narasayya and Manoj Syamala, Workload Driven Index Defragmentation, in International Conference on Data Engineering (ICDE), IEEE, 1 March 2010
- Arjun Dasgupta, Vivek Narasayya, and Manoj Syamala, A Static Analysis Framework for Database Applications, in International Conference on Data Engineering (ICDE), IEEE, April 2009
- Nicolas Bruno, Surajit Chaudhuri, and Ravishankar Ramamurthy, Power Hints for Query Optimization, in Proceedings of the International Conference on Data Engineering (ICDE), 2009
- Nicolas Bruno, Teaching an Old Elephant New Tricks, in Conference on Innovative Data Systems Research (CIDR), Very Large Data Bases Endowment Inc., 2009
- Surajit Chaudhuri, Vivek Narasayya, and Ravi Ramamurthy, A Pay-As-You-Go Framework for Query Execution Feedback, in VLDB, Very Large Data Bases Endowment Inc., August 2008
- Nicolas Bruno and Surajit Chaudhuri, Constrained Physical Design Tuning, in Proceedings of the International Conference on Very Large Databases (VLDB), 2008
- Surajit Chaudhuri and Vivek Narasayya, Self-Tuning Database Systems: A Decade of Progress., in VLDB, Very Large Data Bases Endowment Inc., September 2007
- Surajit Chaudhuri, Vivek Narasayya, and Manoj Syamala, Bridging the Application and DBMS Profiling Divide for Database Application Developers, in VLDB, Very Large Data Bases Endowment Inc., September 2007
- Nicolas Bruno and Surajit Chaudhuri, An Online Approach to Physical Design Tuning, in Proceedings of the International Conference on Data Engineering (ICDE), 2007
- Sanjay Agrawal, Eric Chu, and Vivek Narasayya, Automating Physical Database Design: Workload as a Sequence, in SIGMOD, Association for Computing Machinery, Inc., June 2006
- Nicolas Bruno, Surajit Chaudhuri, and Dilys Thomas, Generating Queries with Cardinality Constraints for DBMS Testing, in Transactions on Knowledge and Data Engineering, IEEE Computer Society, 2006
- Arnd Christian König and Shubha U. Nabar, Scalable Exploration of Physical Database Design, in 22nd International Conference on Data Engineering , IEEE Computer Society, 2006
- Sanjay Agrawal, Nicolas Bruno, Surajit Chaudhuri, and Vivek Narasayya, AutoAdmin: Self-Tuning Database Systems Technology, in Data Engineering Bulletin, IEEE Computer Society, 2006
- Zhimin Chen and Vivek Narasayya, Efficient Computation of Multiple Group-By Queries, in SIGMOD, Association for Computing Machinery, Inc., June 2005
- Nicolas Bruno and Surajit Chaudhuri, Flexible Database Generators, Very Large Data Bases Endowment Inc., 2005
- Sanjay Agrawal, Surajit Chaudhuri, Lubor Kollar, Arun Marathe, Vivek Narasayya, and Manoj Syamala, Database Tuning Advisor for Microsoft SQL Server 2005, in VLDB, Very Large Data Bases Endowment Inc., August 2004
- Surajit Chaudhuri, Vivek Narasayya, and Ravi Ramamurthy, Estimating Progress of Execution for SQL Queries, in SIGMOD, Association for Computing Machinery, Inc., June 2004
- Sanjay Agrawal, Vivek Narasayya, and Beverly Yang, Integrating Vertical and Horizontal Partitioning into Automated Physical Database Design, in SIGMOD, Association for Computing Machinery, Inc., June 2004
- Surajit Chaudhuri, Arnd Christian König, and Vivek Narasayya, SQLCM: A Contiuous Monitoring Framework for Relational Database Engines, in 20th International Conference on Data Engineering, Institute of Electrical and Electronics Engineers, Inc., March 2004
- Nicolas Bruno and Surajit Chaudhuri, Conditional Selectivity for Statistics on Query Expressions, in SIGMOD, Association for Computing Machinery, Inc., 2004
- Surajit Chaudhuri, Prasanna Ganesan, and Vivek Narasayya, Primitives for Workload Summarization and Implications for SQL , in VLDB, Very Large Data Bases Endowment Inc., September 2003
- Sanjay Agrawal, Surajit Chaudhuri, Abhinandan Das, and Vivek Narasayya, Automating Layout of Relational Databases, in 19th International Conference on Data Engineering, IEEE Computer Society, 2003
- Surajit Chaudhuri, Vivek Narasayya, and Sunita Sarawagi, Efficient Evaluation of Queries with Mining Predicates, in 18th International Conference on Data Engineering, IEEE Computer Society, March 2002
- Nicolas Bruno, Surajit Chaudhuri, and Luis Gravano, STHoles: A Multidimensional Workload-Aware Histogram, no. MSR-TR-2001-36, March 2001
- Surajit Chaudhuri, Vivek Narasayya, and Sanjay Agrawal, Automated Selection of Materialized Views and Indexes for SQL Databases., in VLDB, Very Large Data Bases Endowment Inc., September 2000
- Surajit Chaudhuri and Vivek Narasayya, Automating Statistics Management for Query Optimizers, in 16th International Conference on Data Engineering, IEEE Computer Society, March 2000
- Surajit Chaudhuri and Vivek Narasayya, Index Merging, in 15th International Conference on Data Engineering, IEEE Computer Society, April 1999
- Surajit Chaudhuri and Vivek Narasayya, AutoAdmin "What-If" Index Analysis Utility, in SIGMOD, Association for Computing Machinery, Inc., June 1998
- Surajit Chaudhuri, Rajeev Motwani, and Vivek Narasayya, Random Sampling for Histogram Construction: How Much is Enough?, in SIGMOD, Association for Computing Machinery, Inc., June 1998
- Surajit Chaudhuri, Usama Fayyad, and Goetz Graefe, On the Efficient Gathering of Sufficient Statistics for Classification from Large SQL Databases, American Association for Artificial Intelligence , January 1998
- Surajit Chaudhuri, Overview of Query Optimization in Relational Systems, Association for Computing Machinery, Inc., January 1998
- Surajit Chaudhuri and Vivek Narasayya, An Efficient, Cost-Driven Index Selection Tool for Microsoft SQL Server, in VLDB, Very Large Data Bases Endowment Inc., August 1997
- Surajit Chaudhuri and Kyuseok Shim, Optimization of Queries with User-defined Predicates, no. MSR-TR-97-03, February 1997
- Surajit Chaudhuri and Umeshwar Dayal, An Overview of Data Warehousing and OLAP Technology, Association for Computing Machinery, Inc., January 1997



