Course Unit Code | 460-4069/03 |
---|
Number of ECTS Credits Allocated | 4 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 delivered | Winter Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| BAC027 | doc. 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 Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 | 51 |