Eddies – Continuously Adaptive Query Processing
by Ron Avnur and Joseph
this seminal work, the authors try to attack the problem of query processing in
brief, the following significant contributions were made.
- Traditional query processing
algorithms deal with only static settings and query execution plans. However,
there are number of run time parameters/settings that may make the
plan-by-the-static-design useless during run time. So there is a need for
exploiting run time characteristics in adapting the static plan to accelerate
the query processing.
- The paper nicely borrows the
interesting idea of Synchronization
Barriers from parallel programming. Moments of Symmetry and its exploitation
to improve the query plan is a very interesting
- A very efficient and clever
implementation of the proposed ideas and strong performance
- A fine granular solution
which is a significant contribution over existing coarse-granular
see the following minor weaknesses in the paper which might be vague in some
Scope for Improvement
- Only certain flavors of
operator implementations are adaptability-friendly during run time. For example,
certain join implementations are better for run time adaptability than others.
So Eddies is forced to use only such algorithms for the query processing needs.
- Authors should have dedicated
in discussing more about under what run time settings the DBMS engineers should
go for Eddies over traditional optimization techniques.
- The Eddies performance may
also depend to some extent, on the initial pre-optimized plan suggested by the
- How about having several
optimized static plans for different run time characteristics and switching to
the appropriate plan when such conditions occur? How Eddies performs over
that? The transition cost should also be taken into account. Interesting I read few papers later which talk about it.