Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Advanced Database Systems Floris Geerts University of Antwerp Floris Geerts (University of Antwerp) Advanced Database Systems 1 / 37 General comment References In the following, I detail which parts of the book should be read (and understood) in relation to the different parts as covered in the slides (in the order appearance on the slides). Note that topic as mentioned in the slides is on top of the slide. The chapters refer to the Database Management Systems book by Ramakrishnan & Gehrke, Third edition, 2003. Floris Geerts (University of Antwerp) Advanced Database Systems 2 / 37 Introduction Relational model Chapter 3: The relational model The things we have seen here are part of the basic database course and are assumed to be understood. If unsure, check the slides and read: Sec 3.1 Sec 3.2 Sec 3.3 (except 3.3.1) Sec 3.4 (as a warm-up for the querying part) Sec 3.6 Sec 3.7 In particular, make sure you know what key, foreign key and in general, constraints are and what they do. You must also know what a view is. Floris Geerts (University of Antwerp) Advanced Database Systems 4 / 37 Introduction Relational algebra and SQL Chapter 4: Relational algebra and calculus This was covered already in the basic database course so the same comment as above applies here. Ensure that you know and understand the relational algebra and equivalences (which are covered later in the course in more detail (optimization part). To remind yourself, check the slides and read: Sec 4.1 Sec 4.2 Floris Geerts (University of Antwerp) Advanced Database Systems 6 / 37 Introduction Relational algebra and SQL Chapter 5: SQL: queries, constraints, triggers Again, basic stuff. We did not cover SQL in class, but as mentioned in class it is assumed you know how to formulate queries in SQL and how SQL and the relational algebra are related (which again is covered in the optimization part). To remind yourself, read: Sec 5.1 Sec 5.2 Sec 5.3 Sec 5.4 Sec 5.5 Floris Geerts (University of Antwerp) Advanced Database Systems 7 / 37 Storage, Indexing & Sorting Storage & Indexing Chapter 8: Overview of Storage & Indexing This chapter provides a general overview, but at the same time covers some aspect that we did not see in class. Check slides and read: Sec 8.2.1. Sec 8.2.2. Sec 8.3 Sec 8.4: Although not covered in class, this section gives a good intuition of “thinking in I/O’s” when considering simple database operations. Since you need to able to understand how to measure I/O in a variety of scenarios, understand how the I/O costs in Figure 8.4 are obtained. Know the different kinds of indexes, their strengths and weakness and train yourself in thinking in I/Os. Floris Geerts (University of Antwerp) Advanced Database Systems 9 / 37 Storage, Indexing & Sorting Storage & Indexing Chapter 9: Storing data: disks and files Check slides and read: Sec 9.3., except 9.3.2 Sec 9.4, except 9.4.2 Know the job of the buffer manager and how it works. Floris Geerts (University of Antwerp) Advanced Database Systems 11 / 37 Storage, Indexing & Sorting Storage & Indexing Chapter 10: Tree-structured indexing Check slides and read: Sec 10.1 Sec 10.3 Sec 10.4 Sec 10.5 Sec 10.6 In short, understand B+ trees! Floris Geerts (University of Antwerp) Advanced Database Systems 13 / 37 Storage, Indexing & Sorting Storage & Indexing Chapter 11: Hash-based indexing Check slides and read: Sec 11.1 Sec 11.2 Sec 11.3 Sec 11.4 In short, understand hash-based indexes! Floris Geerts (University of Antwerp) Advanced Database Systems 15 / 37 Storage, Indexing & Sorting Storage & Indexing Chapter 28: Spatial data management Check slides on multi-dimensional indexing and read: Sec 28.6 (except 28.6.3, 28.6.4) So, know how an R+ tree works. Floris Geerts (University of Antwerp) Advanced Database Systems 17 / 37 Storage, Indexing & Sorting Sorting Chapter 13: External sorting Check slides on sorting and read: Sec 13.1 Sec 13.2 Sec 13.3 (note: 13.3.1 is what is in the slides referred to as heap sort/replacement sort) Sec 13.4 (except 13.4.2) Sec 13.5 In short, understand the various ways of sorting files in external memory and the impact of buffer size etc. Floris Geerts (University of Antwerp) Advanced Database Systems 19 / 37 Query evaluation, query plans and execution models Overview Chapter 12: Overview of Query Evaluation Check slides on query evaluation and read: Sec 12.3 Sec 12.4 Sec 12.5 Sec 12.6 Know what a physical plan is, the role relational algebra, execution models, and in general, what an optimizer does. Floris Geerts (University of Antwerp) Advanced Database Systems 21 / 37 Query evaluation, query plans and execution models Join algorithms Chapter 14: Evaluating relational operators Slides only cover join algorithms, but as mentioned in class you need to know how other relational operators are evaluated as well. So, check slides for joins and read: Sec 14.1 Sec 14.2 Sec 14.3 (contains a simple variant of the hash-join) Sec 14.4 Sec 14.5 Floris Geerts (University of Antwerp) Advanced Database Systems 23 / 37 Query optimisation Block decomposition and equivalence rules Chapter 15: A typical relational query optimizer Sec 15.1 Sec 15.3 Floris Geerts (University of Antwerp) Advanced Database Systems 25 / 37 Query optimisation Cardinality estimation Chapter 15: A typical relational query optimizer Sec 15.2 Floris Geerts (University of Antwerp) Advanced Database Systems 27 / 37 Query optimisation Plan enumeration Chapter 15: A typical relational query optimizer For plan enumeration, slides are more detailed and differ quite a bit from the material presented in Sec 15.4. So, check slides and read: Sec 15.4 but focus on examples. Understand the working of plan enumeration by means of dynamic programming. Also understand greedy algorithm used in the exercises! Floris Geerts (University of Antwerp) Advanced Database Systems 29 / 37 Transactions, concurrency and recovery Overview Chapter 16: Overview of Transaction Management Use slides for overview and read: Sec 16.1 Sec 16.2 Sec 16.3 Sec 16.4 Sec 16.7 Floris Geerts (University of Antwerp) Advanced Database Systems 31 / 37 Transactions, concurrency and recovery Concurrency control Chapter 17: Concurrency control Check slides and read: Sec 17.1 Sec 17.2 Sec 17.3 Sec 17.4 Sec 17.5 Know what transactions are, serializability, deadlocks, locking on trees, multiple granularity locking. Floris Geerts (University of Antwerp) Advanced Database Systems 33 / 37 Transactions, concurrency and recovery Recovery Chapter 18: Crash recovery Check slides and read: Sec 18.1 Sec 18.2 (forget about CLR’s) Sec 18.3 Sec 18.4 Sec 18.5 Sec 18.6 Know what is logged and how things are restored after a crash. Floris Geerts (University of Antwerp) Advanced Database Systems 35 / 37 Parallel data management Parallel data management Chapter 22: Parallel and distributed databases Check slides and read: Sec 22.1 Sec 22.2 Sec 22.3 Sec 22.4 Sec 22.5 Floris Geerts (University of Antwerp) Advanced Database Systems 37 / 37