Fortgeschrittenenpraktika SS 2004 Database Research Group, Prof. Dr. Bernhard Seeger Department of Mathematics and Computer Science University of Marburg Germany 06.05.2004
Zielgruppe: Studierende der Informatik mit Vordiplom Generell Zeitraum: SS 2004, Abgabe 30.09.2004 Blockfopra möglich Zielgruppe: Studierende der Informatik mit Vordiplom Voraussetzungen: mindestens Java und Englischkenntnisse (lesen und verstehen) Weitere Voraussetzungen stehen beim jeweiligen Thema Kontakt: beim jeweiligen Mitarbeiter Informationen: dbs.mathematik.uni-marburg.de
XXL: eXtensible fleXible Library Java Bibliothek Funktionalität für Datenbankentwickler, u.a. Anfrageverarbeitung Funktionen/Prädikate Cursor-Konzept I/O Indexstrukturen XML Speicherungsstrukturen Gute Dokumentation
Erweitert java.util.Iterator Cursor Konzept Erweitert java.util.Iterator Jeder Anfrageoperator in XXL ist ein Cursor. boolean hasNext() Object next() name select name from Vorlesung where professor=„Seeger“ professor=„Seeger“ Vorlesung
Thema 1 "Mitarbeit im Forschungsprojekt XXL" Betreuer: Die Mitarbeiter der AG Datenbanksysteme Java (gute Kenntnisse) Bearbeiter: bis zu 4
Thema 1: Betätigungsfelder Es gibt immer etwas zu tun, z.B. Implementierung von Plug&Join Externspeicher-Heap, Externspeicher-Liste Entwicklung von Tests (JUnit) Java Generics Anpassungen von „relational“ an JDBC 3.0 JDO ... Teilnahme an XXL-Besprechungen Eigene Ideen können eingebracht werden.
Thema 2 "Weiterentwicklung der GUI für XXL" Betreuer: u.a. Dipl.-Inf. Tobias Schäfer Java (gute Kenntnisse) Bearbeiter: 1-2
Erweiterung der Codeerzeugung Thema 2: Neue Features Spezielle Funktionen und Prädikate, die häufig in der GUI Verwendung finden Erweiterung der Codeerzeugung Erzeugung von kompletten Klassen Aufrufreihenfolge von Methoden Starten der Beispiele in eigener Java-VM Visualisierung des Datenflusses zwischen den Objekten Realisierung als Eclipse-Plugin?
"Verarbeitung von XML Dokumenten mit Operatoren" Thema 3 "Verarbeitung von XML Dokumenten mit Operatoren" Betreuer: Dipl.-Inf. Martin Schneider Java, XML, (XXL) Bearbeiter: 1-2 Interesse an solchen Operatoren z.B. bei unseren Kooperationspartnern von INRIA/Paris vorhanden.
Thema 3: Beispiel
Einige Operatoren sind vorhanden. Thema 3 Ähnlich zu den Unix-Tools (awk, grep, sort, diff, …) sollen Operatoren entwickelt werden. Jeder Operator ist ein Iterator Paper von Dan Suciu Einige Operatoren sind vorhanden.
Thema 4 "Entwicklung eines schlanken Datenbanksystems auf Basis von XXL" Betreuer: Dipl.-Inf. Martin Schneider Java, Grundlagen von Datenbanksystemen, (XXL) Bearbeiter: 1-3 XXL bietet Funktionalität für Datenbankentwickler Bislang kein System auf Basis von XXL erstellt. Nutzung der Komponenten von XXL und der GUI Nutzung von verschiedenen Indexstrukturen (B+-Baum, R-Baum, …).
„Benutzung der JTS Topology Suite in XXL“ Betreuer: Voraussetzungen: Thema 5 „Benutzung der JTS Topology Suite in XXL“ Betreuer: Bernhard Seeger, Michael Cammert Voraussetzungen: Java, Datenstrukturen, optional: XXL Bearbeiter: 1-3 Aufgabenstellung Implementierung eines Connectivity-Package zur Anbindung der JTS Topology Suite an XXL Hilfsmittel: XXL, JTS Topology Suite
Thema 5 Was ist die JTS Topology Suite? „… is an API of 2D spatial predicates and functions.” XXL viel Funktionalität zur Verarbeitung mehrdim. Daten räumliche Auswertung i.A. nur auf Basis achsenparalleler Rechtecke Verwendung der JTS Topology Suite wünschenswert Was ist zu tun? Entwicklung von Klassen für die einfache Anwendung der JTS Topology Suite in XXL. Bsp.: com.vividsolutions.jts.geom.Point <-?-> xxl.core.spatial.points.Point
Thema 6 „Implementierung von progressiven Verfahren für Skyline-Anfragen“ Betreuer: Evangelos Dellis, Bernhard Seeger, Akrivi Vlachou Voraussetzungen: Java, Datenstrukturen, optional: XXL Bearbeiter: 1-2 Anwendungsbeispiel Menge von Hotels mit Preis und Distanz zum Strand Ein Hotel ist interessant … Wenn es kein Hotel gibt, das sowohl günstiger ist als auch näher zum Stand liegt.
Thema 6 Aufgabenstellung Implementierung einer Skyline-Anfrage unter Verwendung von R-Bäumen Implementierung weiterer Varianten (optional) Hilfsmittel XXL R-Baum und weitere Tools verfügbar Literatur
"Anfrageverarbeitung mit mehreren Indexen" Thema 7 "Anfrageverarbeitung mit mehreren Indexen" Betreuer: Evangelos Dellis, Akrivi Vlachou Java (gute Kenntnisse) Bearbeiter: bis zu 2 Motivation Große Menge von hochdimensionalen Daten Die meisten Indexstrukturen versagen bei einer hohen Dimensionalität des Datenraums.
Thema 7: Idee Mehrere Indexe niedriger Dimensionalität Strategien für die Auswahl der Dimensionen Erzeugung der Indexe Beantworten von Bereichsanfragen Splitten der Anfrage Mergen der Antworten Abstrakte Implementierung, so dass auch andere Anfragentypen und Strategien unterstützt werden können.
Thema 8 "Historische Anfragen über Multiversions-B-Bäumen auf Datenströmen" Betreuer: Dipl.-Inf. Jürgen Krämer Java (gute Kenntnisse), Indexstrukturen, XXL, PIPES Bearbeiter: 1 PIPES: Bibliothek mit Funktionalität zur Verarbeitung von Datenströmen Multiversions-B-Baum als Indexstruktur zur Speicherung versionierter Daten Problematik historischer Anfragen auf Datenströmen Zeitlich begrenzte historischen Anfragen auf Datenströmen mit Multiversions-B-Bäumen
Thema 9 "Implementierung des Linear Road Benchmarks" Betreuer: Dipl.-Inf. Jürgen Krämer Java (gute Kenntnisse), Indexstrukturen, XXL, PIPES Bearbeiter: 1-2 PIPES: Bibliothek mit Funktionalität zur Verarbeitung von Datenströmen Benchmark für Datenstrommanagementsysteme Verkehrsszenario mit gegebenen Daten Implementierung des Benchmarks nach der Spezifikation mit den in PIPES bereitgestellten Operatoren
Thema 10 "Implementierung einer GUI für Wavelet-Anwendungen" Betreuer: Dipl.-WiMa. Christoph Heinz Java (gute Kenntnisse), Wavelets (gute Kenntnisse) Bearbeiter: 1-2 Wavelets als Basis von Funktionenvektorräumen Vielfältige Anwendungsmöglichkeiten von Wavelets (z.B. Dichteschätzung, Signalanalyse, Regression) Realisierung einer GUI für bestimmte Wavelet-Applikationen