Database Systems Prof. Dr. Jens Dittrich, Dr. Felix Martin Schuhknecht, Immanuel Leonard Haffner Core Lecture, 9 CP, Winter Semester 2017

News

04.04.2018

Re-exam inspection

Dear students,

you can inspect your re-exam on Tuesday, April 10, from 2pm to 4pm in E1.1, 306. If you can not make it to the inspection, send me a mail and we can arrange a separate inspection date.

Best, Felix

30.03.2018

Re-exam Results

Dear students,

we just released the results of the re-exam. We lowered the total points from 70 to 68 + 2 bonus points (the external sorting task got decreased by 2 points). To pass the re-exam, you need 32 of 68 points. In your final grade, the best result of... Read more

Dear students,

we just released the results of the re-exam. We lowered the total points from 70 to 68 + 2 bonus points (the external sorting task got decreased by 2 points). To pass the re-exam, you need 32 of 68 points. In your final grade, the best result of endterm and re-exam is considered. 

Note that the "exam" category in your summary does not show points, but the best result of endterm and re-exam in percentage.   

I will send around a separate mail with details about the inspection date.

Best, Felix 

07.03.2018

HISPOS Grades and Re-exam Registration

Dear students,

we entered your preliminary grades into HISPOS. This should allow you to register for the re-exam in HISPOS as well. If you plan to participate in the re-exam, please register in HISPOS as soon as possible.

Best, Felix

05.03.2018

Project Evaluation

Dear students,

I will briefly explain how the project has been evaluated. There is a total of 40 points, distributed over three milestones and a performance evaluation. Each milestone gives 10 points and the performance evaluation another 10 points.

A... Read more

Dear students,

I will briefly explain how the project has been evaluated. There is a total of 40 points, distributed over three milestones and a performance evaluation. Each milestone gives 10 points and the performance evaluation another 10 points.

A milestone is graded according to how many functional tests are passed. Unit tests are weighted 4 points and integration tests are weighted 6 points. If you pass X% of the unit tests and Y% of the integration tests, you will get CEIL(X * 4 + Y * 6) points.

Performance evaluation is a bit more complicated. In contrast to the initial announcement, projects are graded even if they do not pass all functional tests. Instead, we decided to grade each benchmark separately, but only if a benchmark is entirely correct. That is your project computes the correct result for all input sizes. Every benchmark is evaluated w.r.t. running time and/or memory consumption. Running time is weighted 6 points and memory consumption is weighted 4 points. To get full points in a benchmark, your project must not be slower by 1.5x than the reference and consume no more 2x as much memory. You get 0 points in a benchmark if your project is 6x slower and consumes 20x more memory in comparison to the reference. In between, grading is linearly interpolated. After all benchmarks are graded separately, your total score is linearly mapped to a grade between 0 and 10.

If there are further questions, please ask in the forum. ;)

Regards,

Immanuel

05.03.2018

Total Score and Grade Scale

Dear students,

we just released the total score of your performance as well as the grade scale. The total score is given in percentage and takes the weighted results of project (30%), midterm (20%), and endterm (50%) into account. Additionally, you must have... Read more

Dear students,

we just released the total score of your performance as well as the grade scale. The total score is given in percentage and takes the weighted results of project (30%), midterm (20%), and endterm (50%) into account. Additionally, you must have achieved 50% in the endterm as well as 50% in the project to pass.

The total score is then mapped to a grade scale (visible in your gradebook) to determine your grade. 

Best, Felix 

26.02.2018

Endterm Exam Inspection

Dear students,

you can inspect your exam on March 8 from 2pm to 4pm in E1.1, 306. If you can not make it to the inspection, send me a mail and we can arrange a separate inspection date.

Best, Felix

21.02.2018

Endterm Results

Dear students,

we just released the results of the endterm exam. We decreased the number of points to 69 (+1 bonus point) and you need at least 28 points to pass this exam. The date of the exam inspection will be announced soon.

Best, Felix 

13.02.2018

Deadline of Milestone 3 extended

Dear students,

we decided to extend the deadline of Milestone 3 to Feb 19th 00:00. The deadline for the performance evaluation remains unchanged.

Regards, Immanuel

02.02.2018

Endterm, February 07, from 11:30 to 13:30, GHH

Dear students,

as you know, we are writing our endterm on next Wednesday, February 07, from 11:30 to 13:30, at the Günter Hotz lecture hall (GHH).
As we start sharp at 11:30, make sure that you are in front of the lecture hall at 11:15 latest.

You may neither... Read more

Dear students,

as you know, we are writing our endterm on next Wednesday, February 07, from 11:30 to 13:30, at the Günter Hotz lecture hall (GHH).
As we start sharp at 11:30, make sure that you are in front of the lecture hall at 11:15 latest.

You may neither use any books or printouts of slides. However, you can bring a calculator. Besides, you can take two two-sided physical A4-pages of your personal handwritten summary of the lecture content (no print-outs, no assignment sheets, no carbon copies). 

The endterm covers the entire content of the lecture. 

Best regards,
Felix

01.02.2018

Tutorials next week

Dear students,

as we write our end-term on the upcoming Wednesday, we move Mansi's tutorial to Tuesday afternoon 4pm (E1.1 3.06). Maha's tutorial will be at noon as usual.

Best, Felix

26.01.2018

Assignment Sheet 12

Dear students,

we just released assignment sheet 12 on distributed NoSQL. As usual, you can find the pdf in the materials section.

Best, Felix

25.01.2018

Overall Mini-Test Results

Dear students,

we released the calculation of your average mini-test scores. If you got at least 45% over all ten mini-tests (with respect to the max-points without bonus points), you fulfill the passing requirement. Please let me know if anything is wrong in... Read more

Dear students,

we released the calculation of your average mini-test scores. If you got at least 45% over all ten mini-tests (with respect to the max-points without bonus points), you fulfill the passing requirement. Please let me know if anything is wrong in your calculation. 

Best, Felix

22.01.2018

Update on Assignments for Milestone 3

Dear students,

we just uploaded an updated version of the assignments for milestone 3.  We added a note that forbids the use of std::map and std::unordered_map from the STL container library.

Regards,

Immanuel

22.01.2018

Assignment Sheet 11

Dear students,

we just released assignment sheet 11 on concurrency control. As usual, you can find the pdf in the materials section.

Best, Felix

22.01.2018

Lecture on Thursday, January 25

Dear students,

in the upcoming lecture, I will present distributed processing systems such as MapReduce and Spark. There will be no mini-test.

Best, Felix 

18.01.2018

Course Evaluation

Dear students,

you can find the course evaluation in the materials section.

Best, Felix

16.01.2018

Material for Lecture on January 18

Dear students,

in the materials section, you find four good videos about concurrency control from CMU. These videos will make it easier for you to follow the upcoming lecture and give a more detailed overview of the topic. There will not be a mini-test about the... Read more

Dear students,

in the materials section, you find four good videos about concurrency control from CMU. These videos will make it easier for you to follow the upcoming lecture and give a more detailed overview of the topic. There will not be a mini-test about the material on Thursday.

Best, Felix

16.01.2018

Milestone 2 Results

Dear students,

the results of Milestone 2 are now available on your Personal Status page.

Regards,

Immanuel

16.01.2018

Mini-Test 10 Results

The results of mini-test 10 are available.

12.01.2018

Dear students,

we just published the assignment sheet of Milestone 3.  As usual, the new skeleton is available in the skeleton repository. From Monday Jan 15th on, the test server will run Milestone 3 tests and benchmarks.

Make sure to start working on the... Read more

Dear students,

we just published the assignment sheet of Milestone 3.  As usual, the new skeleton is available in the skeleton repository. From Monday Jan 15th on, the test server will run Milestone 3 tests and benchmarks.

Make sure to start working on the assignment early on; this is presumably the biggest milestone of all.

Good luck!

10.01.2018

Mini-Test 9 Results

The results of mini-test 9 are available.

04.01.2018

Deadline of Milestone 2 postponed

Dear students,

due to misunderstandings in the programming assignment, we decided to postpone the deadline of Milestone 2. You must hand in your solutions until January 12th 23:59.

If you already pass the functional tests of Milestone 2, we recommend you use... Read more

Dear students,

due to misunderstandings in the programming assignment, we decided to postpone the deadline of Milestone 2. You must hand in your solutions until January 12th 23:59.

If you already pass the functional tests of Milestone 2, we recommend you use the additional time to work on your project's performance and correctness. Use valgrind to check your application for issues like double free, memory leaks, or use after free. (At the time of writing, there is only one student project that has zero issues!)

Regards and best of luck.

04.01.2018

LAB on Thursday, January 11

Dear students,

due to an important paper deadline, which we face next week, we have to push the lecture on concurrency control by one week. Thus, next week on January 11, we will have a LAB on recovery. Please watch the corresponding videos as there will be the... Read more

Dear students,

due to an important paper deadline, which we face next week, we have to push the lecture on concurrency control by one week. Thus, next week on January 11, we will have a LAB on recovery. Please watch the corresponding videos as there will be the usual mini-test. The classical lecture on concurrency control will then be on January 18.

Best, Felix 

02.01.2018

Programming Assignment - Milestone 1: Results online

Dear students,

we entered your grades for Milestone 1 in the CMS. Please check your "Personal Status" page, where you will find a new entry "Programming Project" with your points in Milestone 1.

Happy New Year ;)

21.12.2017

Mini-Test 8 Results

A Christmas miracle happened! Everyone got a perfect score of 12/12 points in mini-test 8. 

18.12.2017

Mini-Test 7 Results

The results of mini-test 7 are available.

18.12.2017

Midterm Inspection

Dear students,

we offer you to have a look at your midterm on the upcoming Wednesday, December 20, from 2pm to 4pm in E 1.1, 306. In case you can not make it, you can arrange a separate date for inspection with me via email.

Best, Felix

14.12.2017

Grades for Midterm

Hello everyone,​

The grades for midterm are now available on CMS. Please note that it is not mandatory to pass the Midterm. It only accounts for 20% of your final grade. We will have the exam inspection next week. We will send out a separate email next week with... Read more

Hello everyone,​

The grades for midterm are now available on CMS. Please note that it is not mandatory to pass the Midterm. It only accounts for 20% of your final grade. We will have the exam inspection next week. We will send out a separate email next week with the exact schedule of the same.

Regards,

Ankur Sharma

 
11.12.2017

No exercise group this week

As we did not release a new exercise sheet last week, there won't be exercise groups this week.

05.12.2017

Evaluation Milestone 1

Dear students,

the evaluation of Milestone 1 is now available online in the materials section. Please make sure the evaluation results for unit and integration tests of your project are correct.

01.12.2017

Mini-Test 6 Results

The results of mini-test 6 are available.

01.12.2017

Midterm, December 06, from 12:00 to 14:00, GHH

Dear students,

as you know, we are writing our midterm on next Wednesday, December 06, from 12:00 to 14:00, at the Günter Hotz lecture hall (GHH).
As we start sharp at 12:00, make sure that you are in front of the lecture hall at 11:45 latest.

You may neither... Read more

Dear students,

as you know, we are writing our midterm on next Wednesday, December 06, from 12:00 to 14:00, at the Günter Hotz lecture hall (GHH).
As we start sharp at 12:00, make sure that you are in front of the lecture hall at 11:45 latest.

You may neither use any books or printouts of slides. However, you can bring a calculator. Besides, you can take two two-sided physical A4-pages of your personal handwritten summary of the lecture content (no print-outs, no assignment sheets, no carbon copies).

Best regards,
Felix

30.11.2017

Tutorials next week

As the midterm is next Wednesday, we move the group of Mansi from Wednesday to Tuesday 12:00 (1.06 E11) in the next week.

27.11.2017

Mini-Test 5 Results

The results of mini-test 5 are available. As the average is around 7, we decreased the max. points to 10 with 2 achievable bonus points.

27.11.2017

Recap for Midterm / Continue Prog Sheet 1, November 28, 14:15

Dear students,

tomorrow, November 28 at 14:15, we offer a LAB where you can ask questions about the past exercise sheets 1 to 5. These sheets will be covered in the upcoming midterm on December 6. Besides, we will also continue working on the project... Read more

Dear students,

tomorrow, November 28 at 14:15, we offer a LAB where you can ask questions about the past exercise sheets 1 to 5. These sheets will be covered in the upcoming midterm on December 6. Besides, we will also continue working on the project sheet.

Best, Felix  

23.11.2017

Get in Touch with SAP - Job chances in the largest european software house

Dear students,

the Career Center at Saarland University organises a speech with SAP, especially for computer science students. Interested students may get in touch with and informed about job chances at SAP at november 18, from 6 p.m. to 8 p.m. in building E1 3,... Read more

Dear students,

the Career Center at Saarland University organises a speech with SAP, especially for computer science students. Interested students may get in touch with and informed about job chances at SAP at november 18, from 6 p.m. to 8 p.m. in building E1 3, HS 001. SAP will bring a team of development managers and recruiters to speech and answer all your question and may give you an insight in the professional working day.

The event is free of charge, but please register under http://www.uni-saarland.de/einrichtung/career-center/veranstaltungen.html

More informations you may find here http://www.uni-saarland.de/fileadmin/user_upload/Service/Career-Center/Poster/2017_SAP.pdf 

 

20.11.2017

Mini-Test 4 Results

The results of mini-test 4 are available.

20.11.2017

Tutorial 1 by Ankur Sharma dropped

Due to the low utilization of the tutorial slots, we will no longer offer the tutorial slot of Ankur. Please either go to the slots offered by Maha Aburahma (Tuesday, 12:00, 3.06 E11) or Mansi Misra (Wednesday, 10:00, 3.06 E11).

15.11.2017

VirtualBox VM for Programming Tasks

We uploaded a VirtualBox VM based on arch linux, that can be used to solve the programming tasks. All relevant build tools are already pre-installed.

14.11.2017

Programming LAB Today 14:15

As already announced in the previous LAB, we will have a programming LAB today at 14:15 to continue with the first programming task.

13.11.2017

Mini-Test 3 Results

The results of mini-test 3 are available. As the average is around 7, we decreased the max. points to 10 with 2 achievable bonus points.

08.11.2017

LAB November 09 Videos: Added 2.3.1, 2.3.2, and 2.3.3

Unfortunately, the three videos 2.3.1, 2.3.2, and 2.3.3 for the upcoming LAB were not linked properly in the materials section. They have been added now. There won't be questions about these videos in the upcoming mini-test.   

06.11.2017

Project: Milestone 1

Dear students,

The first milestone has just been published. You can find the assignment in the materials section under Milestone 1. Please read the assignment and follow the instructions carefully.

You have already been granted access to your project... Read more

Dear students,

The first milestone has just been published. You can find the assignment in the materials section under Milestone 1. Please read the assignment and follow the instructions carefully.

You have already been granted access to your project repository on Gogs. Simply sign in, and you should see that you are now a collaborator of a project "Infosys/TeamXYZ". Note: If you do not have access to the project repository yet, that is because you did not follow the instructions in the Project Information sheet. You must sign in to Gogs before we can assign you to your repository. Please do not respond to this notification by email, and just drop by the programming lab tomorrow.

May you do well! ;)

06.11.2017

Mini-Test 2 Results

The results of mini-test 2 are available.

30.10.2017

Mini-Test 1 Results

The results of mini-test 1 are available. As video 0.2.1 (A Footnote about the Young History of Database Systems) was not linked in CMS, we decreased the max. points to 10 with 2 achievable bonus points.

Grading scheme: If a question has 1 correct answer and 3... Read more

The results of mini-test 1 are available. As video 0.2.1 (A Footnote about the Young History of Database Systems) was not linked in CMS, we decreased the max. points to 10 with 2 achievable bonus points.

Grading scheme: If a question has 1 correct answer and 3 wrong answers, then the correct answer gives +1 points whereas each of the wrong answers -1/3 points. Besides, you can not drop below 0 points per question.   

30.10.2017

Programming Group Registration till November 05

Please register your programming groups till November 05 by following the instructions in the Project Information Sheet

25.10.2017

Discourse Forum

The Discourse Forum is now available. You can use it to form project teams, ask questions related to the course, etc.

23.10.2017

Project Information

We have uploaded a PDF document with informations on the DBMS project in the materials section. It includes instructions on how to form project teams.

Show all
 

Patterns in Data Management Book

The Patterns in Data Management book is available on amazon! Both the ebook and the paperback (with color graphics!) are now available at amazon: Patterns in Data Management: A Flipped Textbook (English Edition). The videos that were used in this class are summarized in this book. A previous version of the book was distributed to my students of this class. Thanks for your positive feedback!

Overview

We are flooded with data be it data on the Web (html pages, twitter, facebook, map services, ...), structured data in databases (your money on bank accounts, addresses, cell phone data, school and uni grades, flight information, taxes, medical records, ...), or data in scientific applications (gene data in bioinformatics, telescope data in astronomy, collider data in physics, measurements of seismic activity in geology, ...).
 
DBMS Core Lecture
The way we access, manage, and process that data has tremendous impact on:
 
  1. performance. Though we sometimes think that a performance problem is due to particular algorithm requiring too much CPU time, it is often the data access patterns and retrieval times that slow down a program. The reason for bad performance may be that data cannot be accessed and shipped fast enough to the CPU. For instance you may be using unsuitable access methods to retrieve a single piece of information from a large data repository. Or you might be using an inefficient data layout ignoring the memory hierarchy and hardware capabilities of modern processors. In addition, even if the data was efficiently retrieved, performance may suffer due to picking the wrong analytical algorithms or not scaling your system correctly.
     
  2. reliability. What happens if your hard disk fails or your data center is flooded with water? How do you make sure that a consistent version of your data is accessible at all times? Can you afford to lose all data? How do you exploit multi-threading for accessing data without corrupting you data repository?

If you are interested in these questions, this might be the right lecture for you. 

In this core lecture you will learn how to answer these questions. You will learn fundamental data managing algorithms and techniques which are used to build (not only) database systems but also search engines (Google), file systems, data warehouses, publish/subscribe systems (like Twitter), streaming systems, map services (google maps), or Amazon's Cloud (EC2), etc. 

These techniques and algorithms will allow you to design, plan, and build (almost) any kind of data managing system.

Administrative / Organisation

When: Thursday 10:15-12:00 and Tuesday 14:15-16:00 (E1 3, HS 002)
Administrative Details: https://infosys.cs.uni-saarland.de/teaching/ws17/dbms_admin_notes.pdf

Topics

  • data managing architectures (DBMS, file systems)
  • storage media and hierarchies (disk, flash, main memory, caches, NUMA)
  • storage management (DB-file systems, raw devices, write-strategies, differential files, buffer management, RAID, COW, MOW, virtual memory)
  • data layouts (horizontal and vertical partitioning, row stores, columns stores, hybrid mappings, PAX; fractal design, compression, defragmentation)
  • indexing (one- and multidimensional, tree-structured, hash-, partition-based, B-trees, bulk-loading and external sorting, differential indexing, read- and write-optimized indexing, main-memory indexes, covering, composite, sparse and dense, direct and indirect, clustered and unclustered, main memory versus disk and/or flash-based, bitmaps)
  • query processing algorithms (join algorithms for relational, and spatial data, grouping and early aggregation, co-grouping, filtering, external sorting and partitioning)
  • query optimization (query rewrite, cost models, cost-based optimization, join order, plan enumeration)
  • query processing models (operator, interpreted, vectorized, compiled, anti-projection, tuple reconstruction)
  • concurrency control (MVCC)
  • data recovery (single versus multiple instance, logging, main-memory vs disk, ARIES)
  • parallelization of data and queries (horizontal and vertical partitioning, shared-nothing, replication, NoSQL, Apache Spark, Apache Flink)


If you encounter technical problems, please contact the administrators