Skip to main content
Skip header

Query Processing Algorithms

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4069/03
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type A
Level of Course Unit *Second Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
BAC027doc. Ing. Radim Bača, Ph.D.
Summary
Students learn how are queries processed in a relational databases and also in other types of databases. These algorithms are usually hidden but their features has a significant influence to on a query processing and optimization.
Learning Outcomes of the Course Unit
The subject focuses on query processing algorithms that are commonly used in databases. We describe different data models and query processing problems. Several different techniques are described for each problem.
Course Contents
Lectures:
1. Relational data processing principles - query plan, plan rewritings, and optimization techniques
2. Cost-based optimization - statistics, cost-model
3. Index selection based on cost optimization
4. Query parameterization and MEMO structure
5. Environment - main-memory/persistent environment, L2 cache, SIMD operation, parallelization
6. Graph databases - shortest distance, centrality index computation
7. Spatial queries - range query and k nearest neighbors query in low dimensions
8. Spatial queries - k nearest neighbors in high dimension, approximate nearest neighbors (ANN)
9. Set merging - full-text, similarity search
10. Semi-structured data - twig query pattern
11. Filters

Exercises will be held in a PC lab.
Exercises:
1. Query plans in relational databases - display and operator meaning
2. Influence of statistics on a query plan
3. Change of query plans with respect to physical structure change
4. Test of knowledge related to query plans
5. Basic types of queries in graph databases
6. Graph query processing
7. ANN
8. Inverted list merging
9. StackTree algorithm on a tree data
10. Filter
11. Presentation of a project
Recommended or Required Reading
Required Reading:
[1] G.Fritchey. SQL Server Execution Plans. Simple Talk Publishing, 2012, ISBN: 978-1-906434-92-2
[2] B. Nevarez. Inside the SQL Server Query Optimizer. Simple Talk Publishing, 2010, ISBN: 978-1-906434-57-1
[1] M.Krátký, R.Bača. Databázové systémy, https://dbedu.cs.vsb.cz/
[2] G.Fritchey. SQL Server Execution Plans. Simple Talk Publishing, 2012, ISBN: 978-1-906434-92-2
[3] B. Nevarez. Inside the SQL Server Query Optimizer. Simple Talk Publishing, 2010, ISBN: 978-1-906434-57-1
Recommended Reading:
[1] H.Garcia-Molina, J.D.Ullman, J.D.Widom. Database Systems: The Complete Book, Prentice Hall, ISBN 0-13-031995-3, 2002.
[1] J.Pokorný, M.Valenta. Databázové systémy, ČVUT, ISBN 978-80-01-05212-9, 2013.
[2] H.Garcia-Molina, J.D.Ullman, J.D.Widom. Database Systems: The Complete Book, Prentice Hall, ISBN 0-13-031995-3, 2002.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 51