ABSTRACT

Over time, new releases of database management system (DBMS) products introduced additional types of access path methods to deal with scenarios that did not perform as efficiently as expected. Examples of such new features include various forms of data partitioning, materialized views, cubes, and hash, bitmap, partial, Extensible Markup Language (XML), columnar, spatial, and multidimensional indexes. Each new such structure comes along with its own benefits and overheads, and it is generally challenging to understand when and how to leverage its functionality. For that reason, after each new such structure is introduced, there are attempts to generalize the physical design problem to automatically recommend efficient configurations for input workloads. Analogous to the structure of Chapters 4 to 6, there are three main questions associated with recommending a new kind of physical design structure. First, we need to define what is the space of alternatives that we should consider and whether these would interact with other features in the DBMS. Second, we require a mechanism to evaluate the hypothetical benefit of a given configuration in the search space. Finally, we need efficient procedures to traverse the search space to quickly obtain the desired configuration. In this chapter we explore some recent work on automatically recommending some physical design structures that deal with scenarios involving large data sets and complex query workloads.