Fortgeschrittenenpraktika SS 2004 Database Research Group, Prof. Dr. Bernhard Seeger Department of...

Preview:

Citation preview

FortgeschrittenenpraktikaSS 2004

Database Research Group, Prof. Dr. Bernhard Seeger

Department of Mathematics and Computer Science

University of Marburg

Germany

06.05.2004

2

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

3

XXL

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

4

Cursor Konzept

select namefrom Vorlesungwhere professor=„Seeger“

name

professor=„Seeger“

Vorlesung

Erweitert java.util.Iterator

Jeder Anfrageoperator in XXL ist ein Cursor.

boolean hasNext()Object next()

5

Thema 1

"Mitarbeit im Forschungsprojekt XXL"

Betreuer: Die Mitarbeiter der AG Datenbanksysteme

Java (gute Kenntnisse)

Bearbeiter: bis zu 4

6

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.

7

Thema 2

"Weiterentwicklung der GUI für XXL"

Betreuer: u.a. Dipl.-Inf. Tobias Schäfer

Java (gute Kenntnisse)

Bearbeiter: 1-2

8

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?

9

Thema 3

"Verarbeitung von XML Dokumenten mit Operatoren"

Betreuer: Dipl.-Inf. Martin Schneider

Java, XML, (XXL)

Bearbeiter: 1-2

10

Thema 3: Beispiel

XML Tree

insert

XSLTCursor

XMLCursor

query

WebserviceCursor

Webservice

XSLTCursor

MetaDataCursor

(relational)

DB

Filter

Creation ofstatic HTML

TeeCursor

XPathInformation

MapperXPath

Predicate

11

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.

12

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, …).

13

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

14

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ünschenswertWas 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

15

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. x

yb

a

i k

h

g

d

f

ec

l

o1 2 3 4 5 6 7 8 9 10

12

3

4

5

6

7

8

9

10

m

n

price

distance

16

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

17

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 hohenDimensionalität des Datenraums.

18

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.

19

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

20

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

21

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

Recommended