Lecture 19: Adaptive Query Processing
Lectures: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23
Overview
Papers:
- Babu, Shivnath, and Pedro Bizarro. "Adaptive Query Processing in the Looking Glass." In Proceedings of CIDR, Asilomar, CA, January 4-7, 2005, pp. 238-249.
- Avnur, Ron, and Joseph M. Hellerstein. "Eddies: Continuously Adaptive Query Processing." In Proc. of SIGMOD Conference, 2000, pp. 261-272.
- Also in
Readings in Database Systems. San Fransisco, CA: Morgan Kaufmann, 1998. ISBN: 1558605231.
Query processing in domains like the Internet is much more difficult than query processing in traditional databases because the performance of the different operators is fundamentally unpredictable, due to network delays and the difficulty of doing size and cost estimation on remotely located objects. Adaptive query processing, of which Eddies are an example, deals with this unpredictability by allowing the query processor to change query plans during query execution. Eddies are an extreme version of this -- each tuple in an Eddy can be executed using a different plan. The first paper describes the general idea of adaptive query processing, and the second paper discusses the idea of Eddies in much more detail.
As you read the papers, consider the following questions:
- In what environments is adaptive query processing useful?
- What are the different ways in which a query processor can adapt?
- What are the overheads associated with the Eddy method? What are the benefits of the method? When would you expect that an Eddy-like approach to query execution would be the appropriate choice?
- How does the routing policy in an Eddy affect the performance of the system? Does the ticket-based approach described in the Eddies paper seem like a good one?
Additional Readings
Kabra, Navin, and David J. DeWitt. "Efficient Mid-Query Re-optimization of Sub-Optimal Query Execution Plans." ACM (1998): 106-117.