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)

Exam and Review

  • The second exam took place on August 28, 2019. It has been graded and the grades should be visible in Portal2. The exam review for the second exam is scheduled for Wednesday, September 11, 2019, 14:00 - 16:00 and is going to take place at the chair of Prof. Moerkotte in B6, C 0.04. Please register in advance by writing an e-mail to daniel.flachs(at)uni-mannheim.de.
  • The first exam took place on June 14, 2019. It has been graded and the grades should be visible in Portal2. The exam review for the first exam is scheduled for Wednesday, July 17, 2019, 14:00 - 16:00 and is going to take place at the chair of Prof. Moerkotte in B6, C 0.04. Please register in advance by writing an e-mail to daniel.flachs(at)uni-mannheim.de.

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.

The exam Q&A exercise session is going to take place on June, 5, 2019, 13:45-15:15 in B6, A1.01 .
Please send your questions beforehand to daniel.flachs(at)uni-mannheim.de.

Changelog

  • 02/09/2019: The second exam has been graded and the grades should be visible in Portal2. The date for the exam review was published above.
  • 27/06/2019: The first exam has been graded and the grades should be visible in Portal2. The date for the exam review was published above.
  • 03/06/2019: Time and place for the exam Q&A session have been published, see above.
  • 15/05/2019: The solutions to exercise sheet 10 and the slides from exercise 9 were uploaded. The date for the exam Q&A session was fixed, see above.
  • 10/05/2019: Exercise sheet 10 was uploaded.
  • 08/05/2019:
    The solutions to exercise sheets 8 and 9 as well as the slides from exercise 8 were uploaded.
    There was a mistake in the solution to exercise sheet 5, task 1b: Instead of "Therefore, the complement of 3 with respect to 8 is 13 (since 3 + 13 = 16)", it must be: "Therefore, the complement of 3 with respect to 16 is 13 (since 3 + 13 = 16)." A corrected version of the solution has been uploaded.
  • 03/05/2019: Exercise sheet 9 was uploaded.
  • 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_v2.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)
solution08.pdf
Code Solutions (zip)
slides08.pdf
9Typical exam questions,
Cache Conscious B+-Trees,
Boolean Expressions
sheet09.pdfsolution09.pdf
10Cardinality Estimation, Parallelism,
"How to study for the exam"
sheet10.pdfsolution10.pdfslides09.pdf (v2)
Q&A----slides.pdf

Please report any mistakes in the materials to Daniel Flachs.