Database Systems II

Lecture

Type:Lecture
Lecturer:Prof. Dr. Guido Moerkotte
Language:English
Interval:Spring semester
Credit Points:6 ECTS (4 SWS)
Time and place:Weekly on Mondays, 12:00-13:30, B6 A1.01
First lecture:18.02.2019


Prerequisites: Knowledge in Database Systems, Algorithms and Programming

Materials

Literature:

  • Andrew S. Tanenbaum, Todd Austin: Structured Computer Organization 6e, Chaps. 2.1 (Processors), 2.2 (Primary Memory), 4.4 (Design of the Microarchitecture Level), 4.5 (Improving Performance), 8.1 (On-Chip Parallelism), 8.3.3 (UMA Symmetric Multiprocessor Architecture), 8.3.4 (NUMA Multiprocessors)
  • David Patterson and John Hennessy: Computer Architecture: A Quantitative Approach
  • Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen: Introduction to Algorithms 3e, Chap. 11 (Hash Tables)
  • Héctor García-Molina, Jeffrey Ullman, and Jennifer Widom: Database Systems: The Complete Book 2e, Chap. 15 (Query Execution)

Exercise Sessions

Lecturer:Daniel Flachs
Time and place:Weekly on Wednesdays, 13:45-15:15, B6, A1.01
First time:20.02.2019

The weekly exercise sheets are published here. They are not mandatory, but solving them is highly recommended. The solutions are discussed during the exercise sessions.

Changelog

  • 12/04/2019: Exercise sheet 8 was uploaded. Happy Easter holidays!
  • 10/04/2019: The solutions to exercise sheet 7 and the slides from exercise 7 were uploaded.
  • 05/04/2019: Exercise sheet 7 was uploaded.
  • 03/04/2019: The solutions to exercise sheet 6 and the slides from exercise 6 were uploaded.
  • 02/04/2019: Exercise sheet 6 had been incorrectly labelled as sheet 5. The mistake was corrected and a new version of the PDF was uploaded.
  • 29/03/2019: The solutions to exercise sheet 5 and the slides from exercise 5 as well as exercise sheet 6 were uploaded.
  • 22/03/2019: Exercise sheet 5 was uploaded.
  • 21/03/2019: The solutions to exercise sheet 4 and the slides from exercise 4 were uploaded. Exercise sheet 4 was extended by task 4 (open addressing), which was discussed during class (as part of Task 2) but was originally not on the exercise sheet.
  • 15/03/2019: Exercise sheet 4 was uploaded.
  • 13/03/2019: The solutions to exercise sheet 3 and the slides from exercise 3 were uploaded.
  • 11/03/2019: The solutions to exercise sheet 2 and the slides from exercise 2 were uploaded.
  • 08/03/2019: Exercise sheet 3 was uploaded.
  • 04/03/2018: Correction of a typo in exercise sheet 2: In exercise 2a, the command to check for SSE/AVX must be "g++ -Q --help=target", i.e. two dashes before "help".
  • 01/03/2019: Exercise sheet 2 was uploaded.
  • 27/02/2019: The solutions to exercise sheet 1 (code + pdf) and the slides from exercise 1 were uploaded.
  • 22/02/2019: Exercise sheet 1 was uploaded.
  • 21/02/2019: The code examples from exercise 0 were uploaded. The ZIP file contains more examples than discussed in class. The slides from exercise 0 were updated to version v2 (fixed typos).

Materials

Source code is usually uploaded as ZIP files. Refer to the README text files to find out which example implements what.

No.TopicTasksSolutionSlides
0C++ IntroCode: CPP_IntroBasics.zipslides00.pdf (v2)
1C++ Intro, Algorithmssheet01.pdf
Code for task 4 (binaryTree) (zip)
solution01.pdf
Code Solutions (zip)
slides01.pdf
2Cache & Prefetching, SIMDsheet02.pdf (v2)
Code for tasks 1 and 2 (zip)
solution02.pdf
Code Solutions (zip)
slides02.pdf
3Efficiency of C++, Hashingsheet03.pdf
Code for tasks 1 and 3 (zip)
solution03.pdfslides03.pdf
4Branch Misprediction,
Compression,
Cache Alignment/Row Store
sheet04_v2.pdf
Code for tasks 1 and 2 (zip)
solutions04.pdf
Code Solutions (zip)
slides04.pdf
5Bit Manipulations,
Row Store vs. Column Store
sheet05.pdf
Code for tasks 1 and 2 (zip)
solution05.pdf
Code Solutions (zip)
slides05.pdf
6Physical Algebra Implementation,
Storage Layout: BitSliceH
sheet06.pdf
Code for task 1 (zip)
solution06.pdf
Code Solutions (zip)
(same file as task)
slides06.pdf
7Lambda Expressions,
Physical Algebra Implementation II
sheet07.pdf
Code for task 2 (zip)
solution07.pdf
Code solution (zip)
slides07.pdf
8Interpretation:
Operator Trees and Virtual Machines
sheet08.pdf
Code for tasks 1 and 2 (zip)
----

Please report any mistakes in the materials to Daniel Flachs.