Benutzer-Werkzeuge

Webseiten-Werkzeuge


toyexercise:start

Überblick

Das ToyDB-Projekt ist ein von der FG Datenbanken & Informationssysteme der TU Ilmenau ins Leben gerufenes Projekt. Es handelt sich um ein vereinfachtes, aber in seinen Grundzügen vollständiges, Datenbank-Management-System angelehnt an das RedBase-Projekt der Universität Stanford. ToyDB ist komplett in Java implementiert und befindet sich in ständiger Weiterentwicklung.

ToyDB-Projekt: Übungen zur LV Datenbank-Implementierungstechniken

Ziel des ToyDB-Projektes ist es, die in der Vorlesung Datenbank-Implementierungstechniken vermittelten Kenntnisse im Rahmen praktischer Programmiertätigkeiten anzuwenden und zu vertiefen. Dazu sollen Kernfunktionen eines DBMS wie Record Management, Index Management und Anfrageverarbeitung implementiert werden. Zwar gibt es freie und auch im Quellcode verfügbare DBMS wie z.B. PostgreSQL oder MySQL, aber einerseits dürfte der notwendige Einarbeitungsaufwand zu groß sein und somit den Zeitrahmen eines Semesters sprengen und andererseits sind dort die interessanten Basisfunktionen natürlich bereits implementiert. Daher haben wir uns für eine eigene Implementierung in Java entschieden, die an das Redbase-Projekt der Stanford University angelehnt ist.

Projekt-Details

Im ToyDB-Projekt sind für die wesentlichen Schichten des DBMS Java-Schnittstellen vorgegeben. Ihre Aufgabe ist es, zu diesen Schnittstellen Klassen zu implementieren, welche die geforderte Funktionalität bereitstellen. So soll Schritt für Schritt ein kleines DBMS entstehen, das zum Semesterende SQL-ähnliche Anfragen verarbeiten kann.

Projekt-Ablauf

Zur Vereinfachung Ihrer Arbeit stellen wir Ihnen bereits die Implementierungsklassen für die PagedFile-Komponente, den SystemManager sowie je nach Aufgabe weitere Komponenten inkl. dem Befehlszeileninterpreter und SQL-Parser zur Verfügung. Alle weiteren Komponenten des DBMS können und müssen daher insbesondere die PagedFile-Komponente für die Datenverwaltung auf dem Externspeicher nutzen. Weiterhin können Sie die mit JUnit realisierten Testfälle nutzen, um die Funktionsfähigkeit Ihrer Implementierung zu prüfen. Einige Testfälle werden Ihnen ebenfalls zur Verfügung gestellt. Diese sollten aber keinesfalls als vollständig angesehen werden. Jedem Team wird empfohlen, die zur Verfügung gestellten Test-Suites zu erweitern, um die eigene Implementierung gründlich zu testen. Die zur Kontrolle durchgeführten Tests sind um einiges komplexer als die zuvor zur Verfügung gestellten.

Installation und Nutzung

Da es sich bei ToyDB um eine Java-Projekt handelt, sind Installation und Bau des Systems sehr einfach. Es bietet sich die Nutzung der Eclipse-IDE an, da hiermit nicht nur eine mächtige Entwicklungsumgebung zur Verfügung steht, sondern auch die Tests der Komponenten sehr einfach ausgeführt werden können. Die Installationsanleitung gibt Ihnen Tipps zur Einbindung von ToyDB in Eclipse.

Roadmap

Das ToyDB-Projekt wird - mit geringer Priorität - ständig weiterentwickelt. In jedem Jahr sind neue Aufgaben geplant, die zu Erweiterungen vorhandener Komponenten oder der Entwicklung neuer Funktionalitäten führen. Vorschläge oder auch Implementierungen nehmen wir gern auf. Ziel ist es aber dabei immer, überschaubare Funktionalitäten einzufügen und die vorhandenen Schnittstellen beizubehalten.

Geplant ist u.a. Folgendes:

  • Logging und Recovery
  • Rewriting über Tom
  • Spatial Queries über die vorhandene R-Baum-Implementierung
  • OLAP-Operationen

Aktuelle ToDo-Liste

toyexercise/start.txt · Zuletzt geändert: 2011/04/04 19:35 (Externe Bearbeitung)