Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Projects > AutoAdmin
AutoAdmin

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

This is a long-term project. In the short term, the focus is on automating 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.

We have developed an Index Tuning Wizard that shipped as part of Microsoft SQL Server 7.0 and Microsoft SQL Server 2000, and the Database Engine Tuning Advisor (DTA) that shipped as part of Microsoft SQL Server 2005. Given a workload consisting of a set of SQL statements, the Database Engine Tuning Advisor automatically recommends a set of indexes, materialized views and partitioning that are appropriate for that workload. A representative workload for the system can be gathered by logging activity on the server over a specified period of time. The user can specify constraints that must be met by the tool e.g., an upper bound on the storage space, or indexes that must be included. The tool also allows the user to perform a quantitative analysis of the impact of the proposed recommendation. For example, the database administrator can find the queries in the workload that are most affected by the proposed changes; or determine the fraction of queries where a particular index or materialized view is used. The tool also reports an expected improvement in performance if the proposed recommendations are accepted. If the user accepts the recommendations, the tool creates (and/or drops) indexes so that the recommended design is materialized. This work was done jointly with the SQL Server team. More details of the tool including its underlying algorithms are available in the VLDB'97 paper "An Efficient Cost-Driven Index Selection Tool for Microsoft SQL Server ", the VLDB'00 paper "Automated Selection of Materialized Views and Indexes for SQL Databases", the SIGMOD'04 paper "Integrating Vertical and Horizontal Partitioning into Automated Physical Database Design" and the VLDB'04 paper "Database Tuning Advisor for Microsoft SQL Server 2005". (see Publications below).

 

If you have questions about this project, please contact the Autoadmin research team (aart@microsoft.com).

 

Publications