Tuning von Datenbanksystemen
News
- Wir weisen ausdrücklich zu Beginn des Semesters darauf hin, dass am 02.05.2019 und 09.05.2019 KEIN Proseminar stattfindet. Dafür werden am 16.05.2019 und 23.05.2019 zwei PS-Termine hintereinander abgehalten. Wir bitten die Studierenden dies in ihrer Zeitplanung zu berücksichtigen.
- Am 18.06. fällt die Vorlesung aufgrund von Hearings (Vorträge von Bewerbern auf die Assitenzprofessur Datenbanksysteme) aus. Um die Zeit nachzuholen, werden die verbleibenden zwei Vorlesungseinheiten von 17:00-19:00 dauern (statt 17:00-18:30).
Allgemeines
Die Vorlesung wird im Frontalunterricht abgehalten. Die Folien zur Vorlesung werden jeweils vor Beginn der Vorlesung online gestellt. Die Folien sind in Englisch verfasst, der Vortrag ist jedoch auf Deutsch.
Die Bewertung der Vorlesung erfolgt in einer mündlichen Prüfung am Ende des Semesters.
Vorlesungstermine: siehe PlusOnline
Prüfungstermine: werden in PlusOnline bekannt gegeben. Die An- und Abmeldung zur Prüfung ist bis 48 Stunden vor dem Prüfungszeitpunkt möglich. Bei Fernbleiben von einer Prüfung ohne Abmeldung erfolgt eine Sperre gemäß den Satzungen der Universität.
Das Proseminar wird 14-tägig abgehalten. Die Aufgabe werden in Gruppen zu 3 Personen bearbeitet. Die Teams erhalten Projektblätter, welche im Proseminar und zuhause ausgearbeitet werden. Das Ergebnis der jeweiligen Ausarbeitung ist ein Projektbericht.
Die Bewertung des Proseminars basiert auf den Projektberichten und deren Besprechung während des Proseminars.
Proseminartermine: siehe PlusOnline
Vorlesung
Folien
Jeder Satz Folien bildet eine thematische Einheit und wird in einer oder mehreren Vorlesungen behandelt. Folien, welche noch nicht in der Vorlesung behandelt wurden, können sich noch ändern, liegen jedoch spätestens am Vortag der Vorlesung in ihrer finalen, inhaltlichen Form vor. Nach der Vorlesung werden nur noch Fehler ausgebessert.
Die Folien und die entsprechnenden Erläuterungen und Diskussionen während der Vorlesung sind Hauptgrundlage für die Vorbereitung zur Prüfung.
Thema | Folien | ||
---|---|---|---|
1. | General Introduction: Introduction, Tuning Principles, Course Organization | [1up] [4up] | |
2. | Query Tuning: Query Processing, Tuning Examples, Minimizing DISTINCTs, Unnesting Queries | [1up] [4up] | |
3. | Index Tuning: Query Types, Index Types, Data Structures, Composite Indexes, Indexes and Joins, Tuning Examples | [1up] [4up] | |
4. | Concurrency Tuning: Introduction to Transactions, Lock Tuning, Weaken Isolation Guarantees, Transaction Chopping | [1up] [4up] | |
5. | Recovery Tuning: Logging and Recovery, WAL, Log Buffer, Checkpoints | [1up] [4up] | |
6. | Hardware Tuning: Tuning the Storage Subsystem | [1up] [4up] |
Vertiefende Lektüre
Folgendes Buch behandelt den Großteil des Stoffes aus der Vorlesung:
-
Database Tuning - Principles, Experiments, and Troubleshooting Techniques.
Dennis Shasha, Philippe Bonnet.
Morgan Kaufmann Publishers, 2003.
Der restliche Stoff ist von folgendem Buch abgedeckt (in der Fachbibliothek Itzling in mehrfacher Kopie vorhanden):
- Database System Concepts. Silberschatz, Korth, Sudarshan. McGraw-Hill, 2011.
Prüfung
Die Prüfung zur Vorlesung ist mündlich. Sie erhalten während der Prüfung eine Frage, die zufällig ausgewählt wird. Sie haben 20 Minuten Zeit, die Frage auszuarbeiten und stellen die Antwort in 15 Minuten im Rahmen eines Prüfungsgespräches vor. Während des Prüfungsgespräches werden vertiefende Fragen gestellt um das Verständnis zu prüfen. Nach Bedarf können auch weitere Themen abgefragt werden.
Bewertet werden
- die technische Korrektheit der Antwort,
- der Detailgrad der Antwort, d.h., wie tief-schürfend wurde das Thema behandelt,
- die Vollständigkeit der Antwort, d.h., wurden alle Aspekte berücksichtigt,
- der Gebrauch der passenden Fachterminologie,
- die Fähigkeit, auf vertiefende Fragen einzugehen.
Zur Prüfung können keine Unterlagen verwendet werden.
Die Fragen werden vorher nicht bekannt gegeben. Sie sind jedoch grundsätzlich eher weit gefasst und decken zusammengenommen den gesamten Stoff der Vorlesung ab.
Die An- und Abmeldung zur Prüfung ist bis 48 Stunden vor dem Prüfungszeitpunkt möglich. Bei Fernbleiben von einer Prüfung ohne Abmeldung erfolgt eine Sperre gemäß den Satzungen der Universität.
Proseminar
Wir weisen ausdrücklich zu Beginn des Semesters darauf hin, dass am 02.05.2019 und 09.05.2019 KEIN Proseminar stattfindet. Dafür werden am 16.05.2019 und 23.05.2019 zwei PS-Termine hinterinander abgehalten. Wir bitten die Studierenden dies in ihrer Zeitplanung zu berücksichtigen.
Abhaltungsmodus
Das Proseminar besteht in der Ausarbeitung von Projektblättern. Das Ergebnis ist ein Projektbericht (in Latex verfasst) und für manche Aufgabestellungen auch Source-Code. Die Programmiersprache kann prinzipiell frei gewählt werden, allerdings wird auf dem zur Verfügung gestellten Server nur Java und Python unterstützt. Der Projektbericht muss termingerecht abgegeben werden. Verspätete Abgaben werden nicht berücksichtigt.
Die Projektblätter werden in Gruppen zu je 3 Personen bearbeitet. Während
des Proseminars, das auf den Abgabetermin folgt, wird das Ergebnis mit dem
Leiter der Lehrveranstaltung besprochen und bewertet. Die Bewertung erfolgt
pro Person je nach Beitrag zum Gesamtergebnis und muss nicht für alle
Mitglieder der Gruppe gleich sein. Nur Gruppenmitglieder die bei der
Besprechung anwesend sind erhalten Punkte für das entsprechende
Projektblatt. Im Zuge der Besprechung sind auch weiterführende Fragen
bezüglich des jeweiligen Projektblattes zu beantworten. Die Antworten
zu diesen Fragen fließen ebenfalls in die Bewertung ein.
Beispiel: Kommt in der Beschreibung eines Anfrageplanes
ein Bitmap Heap Scan vor, muss auch die prinzipielle Arbeitsweise
des Bitmap Heap Scans (in PostgreSQL) von den Studierenden erklärt
werden können. Darum wird empfohlen, die
PostgreSQL-Dokumentation
in der jeweils zutreffenden Version zu studieren. Sollte es Unklarheiten
geben, kann jederzeit die LV-Leitung kontaktiert werden (siehe
Q&A).
Es gibt insgesamt 7 Projektblätter, die mit je maximal 5 Punkten bewertet werden. Das letzte Projektblatt ist optional und die Bewertung wird entsprechend angepasst (siehe Bewertung).
Terminübersicht
Projektblatt | Max. Punkte | Deadline | Besprechung | Downloads | Template | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | Vorbesprechung | --- | --- | 07.03.2019 | --- | |||||||
1. | Projektblatt 1 | 5 | 20.03.2019, 23:55 | 21.03.2019 | DBLP Data, JDBC Example | Template 1 | ||||||
2. | Projektblatt 2 | 5 | 03.04.2019, 23:55 | 04.04.2019 | Template 2 | |||||||
3. | Projektblatt 3 | 5 | 10.04.2019, 23:55 | 11.04.2019 | Template 3 | |||||||
4. | Projektblatt 4 | 5 | 15.05.2019, 23:55 | 16.05.2019 | DBLP Data | Template 4 | ||||||
5. | Projektblatt 5 | 5 | 22.05.2019, 23:55 | 23.05.2019 | DBLP Data | Template 5 | ||||||
6. | Projektblatt 6 | 5 | 05.06.2019, 23:55 | 06.06.2019 | Java demo | Template 6 | ||||||
7. | Projektblatt 7 (freiwillig) |
5 | 26.06.2019, 23:55 | 27.06.2019 | Template 7 |
Gruppeneinteilung
Gruppe | Mitglieder | ||
---|---|---|---|
1 | Edelmayer, Feik, Landl, Truppe | ||
2 | Bauer, Demirev, Hattinger | ||
3 | Linz, Schmitt, Wimmer | ||
4 | Fischer, Güssow, Stirbu-Blagut | ||
5 | Regirt, Schweitl, Siller | ||
6 | Pape, Paulitsch, Vecek | ||
7 | Höll, Innerlohinger, Riediger | ||
8 | Chalkias, Cheropoulos |
Time-Slot-Übersicht
Die Besprechungen finden in Time Slots zu je 15 Minuten statt. Im Folgenden finden Sie für jedes Projektblatt die Startzeiten und Gruppennummer der jeweiligen Time Slots.
Time Slot | 16:00 | 16:16 | 16:32 | 16:48 | 17:04 | 17:20 | 17:36 | 17:52 | |||||||||
Projektblatt 1 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 2 (13:30) | |||||||||
Projektblatt 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 (13:00) | |||||||||
Projektblatt 3 | 4 | 5 | 6 | 7 | 8 | 1 | 3 | 2 (13:00) | |||||||||
Projektblatt 4 | 5 | 6 | 7 | 8 | 1 | 3 | 4 | 2 (13:00) | |||||||||
Projektblatt 5 | 6 | 7 | 8 | 1 | 3 | 4 | 5 | 2 (13:00) | |||||||||
Projektblatt 6 | 7 | 8 | 1 | 3 | 4 | 5 | 6 | 2 (13:00) | |||||||||
Projektblatt 7 | 8 | 1 | 3 | 4 | 5 | 6 | 7 | 2 (13:00) |
Q&A
Es besteht die Möglichkeit Fragen über den Slack-Channel #dbt2019 zu stellen. Dies ist der bevorzugte Weg für die Kommunikation mit dem LV-Leiter bzgl. der Projektblätter außerhalb des Proseminars. Jeder Studierende kann sich für den Channel #dbt2019 anmelden und zur Diskussion beitragen.
Im Channel #dbt2019 wird auch der LV-Leiter aktiv sein um offene Fragen zu beantworten oder Antworten von Studierenden zu bestätigen.
Projektbericht
Bitte beachten Sie folgende Richtlinien bei der Abfassung des Projektberichtes.
- Template: Verwenden Sie das Latex Template, das mit jedem Projektblatt veröffentlicht wird.
- Sprache: Das Template ist in English verfasst. Sie können wählen, ob Sie Ihre Textteile in English (Empfehlung) oder in Deutsch einfüllen. Auf die Note hat die Wahl der Sprache keinerlei Auswirkung.
Abgeben des Projektberichtes:
- Abgabe via Abgabesystem. Der Benutzername ist die Matrikelnummer. Das Passwort kann mithilfe der Passwort zurücksetzen Funktion (zurück-)gesetzt werden.
- Nur die PDF Datei zum Projektbericht wird abgegeben. Der Source-Code wird nicht mit abgegeben. Halten Sie den Source Code ihrer Implementierung jedoch in der Besprechung während des Proseminars bereit.
Bewertung
Punkte ohne Aufgabe 7 |
Punke mit Aufgabe 7 |
Note | ||||
---|---|---|---|---|---|---|
≥ 26.25 | ≥ 30.62 | |||||
≥ 22.5 | ≥ 26.25 | |||||
≥ 18.75 | ≥ 21.87 | |||||
≥ 15 | ≥ 17.5 | |||||
< 15 | < 17.5 |