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.

  • 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

Material

  • LaTeX Template for Thesis (UTF-8): link
  • LaTeX Template for Thesis (Windows): link
  • Notes on C++: link
  • Slides of the organisational meeting: link
  • Gitlab of our Chair: link