Eddies – Continuously Adaptive Query Processing

by Ron Avnur and Joseph M. Hellerstein

In this seminal work, the authors try to attack the problem of query processing in dynamic settings.  
In brief, the following significant contributions were made.

Innovative Contributions

  •  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 innovation.
  • A very efficient and clever implementation of the proposed ideas and strong performance demonstration.
  • A fine granular solution which is a significant contribution over existing coarse-granular solutions. 

I see the following minor weaknesses in the paper which might be vague in some sense.
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 static optimizer.
  •  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.