Lecture 7. Query execution and operator algorithms
Readings:
- Please re-read Section 4.4 of Joseph Hellerstein and Michael Stonebraker. The Anatomy of a Database System. In Red Book (4th ed).
- Paper to review: Leonard Shapiro. Join processing in database systems with large main memories. ACM Transactions on Database Systems 11(3), 1986. Also in Red Book (3rd and 4th ed) [pdf]
As you read this paper, consider the following questions:
- What are the main contributions and limitations of this paper?
- The paper presents four algorithms for computing the join of two relations when neither relation can fit entirely in main memory. What key techniques do these algorithms use? How do they differ?
- What assumptions underly the different algorithms and what can be done if these assumptions do not hold?
Lecture notes:
Additional resources:
- Chapters 12, 13, and 14(in R&G, third edition).
Optional, additional readings:
- G. Graefe. Query Evaluation Techniques for Large Databases. ACM Computing Surveys 25(2), 1993. [pdf]