Seminar: Implementierungtechniken für Hauptspeicherdatenbanksysteme
Informationen
Inhalt
In diesem Seminar behandeln wir Implementierungstechniken für Hauptspeicherdatenbanksysteme und verwandte Themen.
Vorraussetzungen
- Grundlagen Datenbanken, GDB oder ähnliche Kurse
- sehr gute Kenntnisse in Datenbanken, eventuell gute Programmierfähigkeiten in C++ (themaabhängig)
Termine
- wöchentliches Treffen: dienstags, 14 Uhr - 15:30 Uhr, Raum 02.09.014
- erstes Treffen: 17.10.2017
Organisation
- Auftakttreffen für das Seminar: Donnerstag, 13. Juli 2017, 16 Uhr, MI 02.13.010
- Neben einer kurzen Ausarbeitung (max. 10 Seiten) und der Präsentation erwarten wir eine Beispielimplementierung des wichtigsten Aspekts (C++) bzw. SQL-Abfragen für die Data-Mining-Themen
- Für Literaturempfehlungen einfach uns anschreiben oder bei der Literatur unseres Lehrstuhls nachsehen
- Präsentation/Ausarbeitung in Deutsch oder Englisch.
Themen und Zuordnung
Alle Themen orientieren sich an der Architektur unseres Hauptspeicher-Datenbanksystems HyPer (hyper-db.de). Auf der Webseite finden Sie auch entsprechende Literaturreferenzen. Viele Themen werden auch im entsprechenden Kapitel des Lehrbuchs "Datenbanksystem: Eine Einführung" abgehandelt (dort allerdings in knapperer Form als wir es von Ihrer Ausarbeitung erwarten). Weiterhin empfehlen wir die Nutzung der Bibliographie-Datenbank dblp. Kontaktieren Sie uns rechtzeitig (nachdem) Sie sich eingelesen/eingearbeitet haben, um den Aufbau zu besprechen.- 17.10.2017: Text analysis: TFIDF (Thuy Tran) [Thesis] [Presentation]
- 24.10.2017: Snapshotting / Schattenspeicher (Daniel Kutasi) [Thesis] [Presentation]
- 21.11.2017: Parallel Cuckoo-Filter (Jeremias Neth) [Thesis] [Presentation]
- 21.11.2017: How database index structures can be used for Data Mining (Johannes Kirchmaier) [Thesis] [Presentation]
- 28.11.2017: Latency Hiding in Tree Lookups (supervisor: Timo Kersten) (Lukas Karnowski) [Thesis] [Presentation]
- 12.12.2017: Versioning for databases / Versionsverwaltung für Datenbanken (Benedikt Kleiner) [Thesis] [Presentation]
- 12.12.2017: Graph storage: How good is CSR really? (supervisor: Jan Böttcher) (Mahammed Valiyev) [Thesis] [Presentation]
- 12.12.2017: Gradient descent in databases (Kevin Sterjo) [Thesis] [Presentation]
- 19.12.2017: Parallelization of a Query Engine (Thomas Blum) [Thesis] [Presentation]
- 19.12.2017: Linear/Logistic Regression (Oleg Patrascu) [Thesis] [Presentation]
- 09.01.2018: BW-Tree (Josef Schmeißer) [Thesis] [Presentation]
- 16.01.2018: Improvements of Bloom-Filters (idea by: Andreas Kipf) (Matthias Bungeroth) [Thesis] [Presentation]
- 23.01.2018: Database Cracking (David Werner) [Thesis] [Presentation]
- 06.02.2018: MapReduce and SQL: Do we need MapReduce? (Michael Schwarz) [Thesis] [Presentation]
- 06.02.2018: Classification: Decision Trees (Dominik Vinan) [Thesis] [Presentation]
- new topics / neue Themen:
- Versioning for databases / Versionsverwaltung für Datenbanken (Benedikt Kleiner)
- Aggregation of temporal data on NVIDIA GPUs (supervisor: Andreas Kipf, NVIDIA graphics board required)
- Improvements of Bloom-Filters (idea by: Andreas Kipf) (Matthias Bungeroth)
- Database Cracking (David Werner)
- Datamining on specific algorithms: Is it possible using SQL?
- Clustering-Algorithms like DBScan
- Classification: Decision Trees (Dominik Vinan)
- Classification: Naive-Bayes
- Linear Regression
- Logistic Regression
- Time series analysis: ARIMA model
- Text analysis: TFIDF (Thuy Tran)
- Text analysis: Topic analysis
- Hypthesis-Testing
- MapReduce and SQL: Do we need MapReduce? (Michael Schwarz)
- How database index structures can be used for Data Mining (Johannes Kirchmaier)
- Topics about Graph Databases (supervisor: Jan Böttcher) (Mahammed Valiyev)
- Latency Hiding in Tree Lookups (supervisor: Timo Kersten) (Lukas Karnowski)
- Last year topics (can be reused) / Themen des Vorjahres (können übernommen werden)
- Multi-Core Rechner / NUMA /Multi-Threaded Parallelization
- Column-Store / Row-Store / Hybrid Store
- Snapshotting / Schattenspeicher (Daniel Kutasi)
- Kompilation von Anfrageplänen - versus Interpretation
- Synchronisation: Lock-free versus 2PL
- Compaction
- Indexing: ART
- parallele Hash-Joins: Radix-Join versus globale HT
- Parallelization of a Query Engine (Thomas Blum)
- HTM versus Latching
- Multi-Version Concurrency Control