blob: c966ccb07582e4c8cbbdb65f3f84fe3aa5e4182e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
\firstpage
\begin{abstract}
{\itshape
From our experience, current rule-based query optimizers do not provide
a very intuitive and well-defined framework to define rules and
actions. To remedy this situation, we propose an extensible and
structured algebraic framework called Prairie for specifying rules.
Prairie facilitates rule-writing by enabling a user to write rules and
actions more quickly, correctly and in an easy-to-understand and
easy-to-debug manner.
Query optimizers consist of three major parts: a search space, a cost
model and a search strategy. The approach we take is only to develop
the algebra which defines the search space and the cost model and use
the Volcano optimizer-generator as our search engine. Using Prairie as
a front-end, we translate Prairie rules to Volcano to validate our
claim that Prairie makes it easier to write rules.
We describe our algebra and present experimental results which
show that using a high-level framework like Prairie to design
large-scale optimizers does not sacrifice efficiency.
}
\end{abstract}
|