Due to the increasing complexity in application workloads and query engines, database administrators are turning to automated tuning tools that systematically explore the space of physical design alternatives. A critical element of such tuning is physical database design since the choice of physical structures has a significant impact on the performance of the database system. Automated Physical Database Design and Tuning presents a detailed overview of the fundamental ideas and algorithms for automatically recommending changes to the physical design of a database system.
The first part of the book introduces the necessary technical background. The author explains SQL, the space of execution plans for answering SQL queries, query optimization, how the choice of access paths (e.g., indexes) is crucial to performance, and the complexity of the physical design problem.
The second part extensively discusses automated physical design techniques, covering fundamental research ideas in the last 15 years that have resulted in a new generation of tuning tools. The text focuses on the search space of alternatives, the necessity of a cost model to compare such alternatives, different mechanisms to traverse and enumerate the search space, and practical aspects in real-world tuning tools.
In the third part, the author explores new advances in automated physical design. He applies previous approaches to other physical structures, such as materialized views, partitioning, and multidimensional clustering. He also analyzes workload models for new types of applications, generalizes the optimizing function of current physical design tools to cope with other application scenarios, and examines open-ended challenges in physical database design.
This book offers valuable insights on well-established principles and cutting-edge research results in automated physical design. It helps readers gain a deeper understanding of how automated tuning tools work in database installations as well as the challenges and opportunities involved in designing next-generation tuning tools.
Table of Contents
Declarative Query Processing in Relational Database Systems
An Exercise in Imperative Programming
SQL: Declarative Query Processing
Processing SQL Queries
Query Optimization in Relational Database Systems
Physical Database Design
The Complexity of the Physical Design Problem
Toward Automated Physical Design
AUTOMATED PHYSICAL DATABASE DESIGN
Characterizing the Search Space
Candidate Indexes for a Single SELECT Query
Candidate Set for a Workload
Defining the Search Space Using Closures
Designing a Cost Model
Reducing the Overhead of What-If Optimization Calls
Index Usage Model (INUM)
Configuration-Parametric Query Optimization (CPQO)
Enumerating the Search Space
Practical Aspects in Physical Database Design
A Case Study: Database Engine Tuning Advisor
Handling Materialized Views
Materialized View Definition Language
Incorporating Other Physical Structures
Data Cube Selection
Extensible Physical Design
Continuous Physical Database Design
An Alerting Mechanism
Continuous Physical Design Tuning
Constrained Physical Database Design
Examples of Tuning Sessions with Constraints
New Challenges in Physical Database Design
Leveraging Richer Workloads
Other Aspects of Physical Database Design
Interactive Physical Design Tuning
Physical Database Design Benchmarks
A Summary, Additional Reading, and References appear at the end of each chapter.
Nicolas Bruno is a researcher in the Data Management, Exploration and Mining group at Microsoft Research. He earned his Ph.D. in computer science from Columbia University. Dr. Bruno’s research interests include physical database design, query processing and optimization, and database testing.