Database Reference
In-Depth Information
Front-End
Scripting Languages
for Advanced DBAs
Wizards for
Common Tasks
Visualization
High-level APIs
Composable Algorithms
(Single-query-tuning,
merging, reduction...)
High-Level Data Structures
(Query, Index, Workload,...)
Low-level APIs
Event Handling
Extended “Explain” Mode
Workload Gathering
Core DBMS
Access-Path Request Interception
What-if Optimization Mode
FIGURE 12.3 Architectural layers for interactive physical design tuning
tools. (Used with permission from Bruno, N. & Chaudhuri, S. In Proceedings
of the International Conference on Data Engineering [ICDE] , 2010.)
Low-level application programming interfaces (APIs): The low-level
APIs expose, in formats that are simple to consume (e.g., Extensible
Markup Language [XML]), the functionality related to physical design
of both the core DBMS layer and the DBMS itself. As an example,
this layer exposes primitives to leverage what-if functionality, and also
richer explain modes after optimizing queries. These APIs also encap-
sulate existing DBMS functionality, such as the ability to monitor and
gather workloads.
High-level APIs: The previous two layers are, in some form or another, al-
ready present in current commercial DBMSs. Physical design tools are
typically built on top of the low-level APIs and expose only a rigid func-
tionality (e.g., point to a workload, set the storage bound, and tune).
A high-level API layer exposes the internal representations and mech-
anisms used by current physical design tools in a modular way. Basic
concepts such as queries, tables, indexes, and access path requests are
exposed and can be used in different ways. In addition to these data
structures, the high-level API layer exposes composable and simple al-
gorithms that are used by current tuning tools. For instance, this layer
exposes mechanisms to merge two indexes or to obtain the best set of
Search WWH ::




Custom Search