Non-Standard Database Systems
- Kick-off meeting (compulsory) for the lab (PS) is on March 7, 15:00 in room T03. Also students on the waiting list are required to attend the kick-off meeting.
Questions and discussions
For questions and discussions (also among students) regarding course specific topics please use the Slack channel #nsdb-vo-ps (Workspace dbteaching.slack.com).
Slack registration: Students register with their university email here: https://dbteaching.slack.com/signup
- Schedule of the lecture according to PlusOnline.
- The exam dates will be announced in PlusOnline.
Each set of slides treats a specific topic area and will be discussed in one or more lecture units. Slides that have not yet been discussed during the lecture may be subject to change. Once a slide set has been discussed in class, only bug fixes will be applied. Slide sets have a version (date) on the title page.
The slides and their discussion during the lecture are essential for the exam perparation.
Note: The slide version of last year is already online to give you an overview, but this version may be subject to change.
|Database System Architectures||[1x1] [2x2]||—||DSC6 17|
|Parallel Databases||[1x1] [2x2]||—||DSC6 18|
|Distributed Databases||[1x1] [2x2]||
Previous Knowledge Expected
- Basics of transactions:
- DSC6 14.1–14.2, 14.4–14.6
- Concurrency Control:
- 2-Phase Locking (2PL): DSC6 15.1.3
Timestamp-Based Protocols: DSC6 15.4
Deadlocks: DSC6 15.2
- DSC6 — Database System Concepts
- Silberschatz, Korth, Sudarshan. Database System Concepts.. McGraw-Hill, 2011, 6th edition.
Multiple copies of the book are available in the textbook collection of the department library (Itzling).
- DSC7 — Database System Concepts
- Silberschatz, Korth, Sudarshan. Database System Concepts.. McGraw-Hill, 2019, 7th edition.
The book is available online from our university library
The exam will be written. In the case of very few registrations for an exam date, the exam may be held as an oral exam; in this case the students will be notified before the exam.
The exam dates will be announced on PlusOnline.
At the written exam you are allowed to use one A4 sheet with your personal notes (both sides, hand written or printed). During the oral exam no notes are allowed.
You may register or cancel the registration up to 48 hours before the exam. If you do not show up for a registered exam, you will be blocked for this exam according to the university regulations §15(7).
Lab (PS)You will (a) work on exercises at home and present your solution in class, and (b) work on a practical project. The grading depends on the number of homework exercises that you solve, the quality of your presentations in class, and your performance in the project.
You will solve worksheets at home during the semester. The worksheets must be solved by the due date indicated on the worksheet.
By the due date of the worksheet, you also tick the exercises that you solved in Blackboard. Ticking an exercises means that
- you have solved the exercise,
- you understand the solution,
- you will be able to present the solution,
- you will be able to answer questions regarding the solution.
A score (number of points) is assigned to each homework exercise. The score depends on the complexity and difficulty of the exercise. For a single worksheet, at most 10 points can be achieved.
The homework worksheets will be available at least 6 days before the due date.
Presentations in class
In class, the lecturer will pick a student for each exercise of the homework and ask the student to present the solution. The lecturer (and the fellow students) will ask questions about the solution. The quality of the presentation will be rated A, B, or C. Quality criteria for the presentation are
- the technical correctness of the solution,
- the clearness of the presentation,
- the correct use of terminology, and
- the ability to answer in-depth questions.
Quality ratings of the presentation:
- A: good presentation and in-depth understanding of the solutions
- B: solution not correct or presentation issues, but sufficient understanding of the solution
- C: insufficient understanding of the solution
You get points for each of the homework worksheets and the project part. The overall score is the sum over the points for all worksheets and the project score.
Each worksheet contributes as follows to the overall score:
- If your presentation was rated A or you were not asked to present any of the solutions, then all ticked exercises of the worksheet count towards the overall score.
- If your presentation was rated B, you will not receive the points for the exercise you presented, but all other ticked exercises of the worksheet count towards the overall score.
- If your presentation was rated C:
- For the first C-rated presentation, you will get zero points for the worksheet (i.e., none of the exercises of the worksheet counts).
- For further C-rated presentations, the points of all ticked exercises of the worksheet will be subtracted from the overall score.
- If you are absent from class, you will not get points for the respective worksheet. If you are not in class while a specific exercise is being presented (coming late or leaving early), the points for that exercise will not count.
Nowadays, there exist hundreds of NoSQL databases with different characteristics (e.g., storage and data model) and hence pros and cons. Having an overview of these systems and techniques is essential to pick a suitable database for a given use case. Therefore, the goal of this project is to showcase and learn about existing NoSQL systems.
Q&A: Starting early with the project allows you to ask questions and receive answers in time. There are two ways to discuss and ask project-related questions: in class and in the course Slack channel #nsdb-vo-ps (Workspace dbteaching.slack.com). Further, there is an optional Q&A session on 28.03.2023 from 14:00 to 15:00 in T03 (right before the PS).
In this project, you will work in teams of five (or six) people each. Your goal is to become an expert for a particular NoSQL database and provide your knowledge to your fellow students. In a nutshell, each student/team has to perform the following steps:
Building a Team. Find four to five fellow students and build a team. Each team will receive a particular type of NoSQL database (e.g., key/value store) and a date where you present the selected system (details below).
Task 1: Selecting a Database. Search and select a NoSQL database systems that matches the specification and sound interesting to you. A helpful tool is the database of databases. Its search functionality allows you to set specific parameters. Each team sends a Slack message with the name of the chosen system to the instructor by 21.03.2023.
Becoming an Expert. While the database of databases provides a brief overview of the selected database, the data may be incomplete, insufficient, or outdated. Your task is to find and read further reliable sources that help you to gain expert knowledge. Therefore, it is recommended to select systems that are well documented.
Next to having an overview of the system, each team member is supposed to focus on a specific aspect (i.e., (a)-(e)) of the database. In particular, we are interested in the (a) data model, (b) system architecture, and (c) storage of the databases. Further, each team can select an (d) interesting aspect that is unique to their system (e.g., concurrency control). If there are more than five people in a team, select another interesting aspect. Finally, practical aspects such as the (e) query interface and language should be investigated.
Task 2: Sharing your Knowledge. Each team shares their expertise in a presentation (30 minutes). The presentation should be structured based on aspects (a)-(e) and every team member is expected to present one aspect. Hence, there are approximately 5-6 minutes per aspect/student. The presentation of aspect (e) should primarily consists of a live demo (i.e., start-up and example queries). Further, highlight the pros and cons of the design decisions. After the presentation, there are fifteen minutes of discussion and feedback. Make sure that all concepts and terminology are briefly explained in the presentation and relevant sources are cited. There will be one presentation per PS on the following dates: 18.04.2023, 25.04.2023, 09.05.2023, 16.05.2023, and 06.06.2023. Send your presentation slides to the instructor on Slack at latest one day before your presentation.
Task 3: Sharing your Knowledge (Part 2). After incorporating the feedback of the presentation, each team is supposed to send their slides to the instructor on Slack by 20.06.2023. Note that there should be slides for aspect (e), i.e., live demo. The resulting documents serve as a summary and will be provided to all students. Hence, the slides should contain text for all relevant information (i.e., lecture-style).
Grading: The presentation score is at most 30 and individual per team member. The score depends on the technical correctness and clearness of the presentation, and the selection of relevant topics. A maximum score of 20 is accounted for the final slides which are the same for all members of a team. The score depends on the completeness, the structure of the slides, and the citations of relevant sources. Hence, the overall score for the project is 50.
The scores of worksheets (planned to be 50) and the practical project (planned to be 50) result in a maximum possible score of 100. However, the scores may be subject to change. If the maximum changes, the grading scale will be proportionally adapted. Note that both the worksheets and the project score have to be above 50 percent to pass the course.
The final grade is computed from the overall score as follows:
Attendance and unenrolment: The students must attend at least 75% of the lab lectures to achieve a positive grade. Unenrolements are possible only until before the 3rd lab unit, i.e., all students that are still enrolled at the time of the 3rd lab unit will be graded.
|07.03.2023||Kick-off meeting (mandatory)||-|
|21.03.2023||-||Deadline: Task 1|
|28.03.2023||Optional Project Q&A||14:00 - 15:00 in T03|
|18.04.2023||Project Presentation||Key-Value Database: Redis|
|25.04.2023||Project Presentation||Document Database: MongoDB|
|09.05.2023||Project Presentation||Graph Database: Neo4j|
|16.05.2023||Project Presentation||Wide-Column Database: Cassandra|
|06.06.2023||Project Presentation||NewSQL Database: CockroachDB|
|20.06.2023||Worksheet||Deadline: Task 3|