Lehrveranstaltungen
Komplexpraktikum Softwaretechnologie - Kampf der Schemata
Komplexpraktikum (SS 09) - Organisation
News
- Es sind keine News zu dieser Lehrveranstaltung vorhanden.
Ausgangssituation des Kampfes
Im Bereich der Datenbanken werden verschiedene Normalformen für Datenbankschemata (1.
NF, 2. NF und 3. NF) gelehrt, wobei immer darauf hingewiesen wird, dass die 3. NF die
optimale Variante hinsichtlich Redundanzfreiheit, etc. ist. Diese Normalform soll in der Regel
angestrebt werden, um Daten für den Anwendungsbereich in einer Datenbank zu organisieren
(speichern und abzufragen).
Im Bereich der Softwaretechnologie werden objekt-relationale Mapping-Konzepte eingesetzt, um Objekte in einer relationalen Datenbank zu speichern und aus den entsprechenden Datensätzen wiederum Objekte zu erzeugen. Die verfügbaren objekt-relationalen Frameworks, wie zum Beispiel Hibernate (http://www.hibernate.org/), entlasten den Entwickler von der Programmierung von SQL-Abfragen und der eigentlichen Speicherung der Objekte.
Die Organisierung der Objekte kann nun entweder in der 3. NF, 2. NF oder 1. NF erfolgen. Aus Sicht der Datenbankwelt würde eine Umsetzung in der 3. NF erfolgen, wie es auch üblicherweise praktiziert wird. Auf der anderen Seite, wie es bereits in vielen Projekten auch evaluiert worden ist, ergeben sich erhebliche Performance-Probleme bei dieser Vorgehensweise. Diese Performance-Probleme werden üblicherweise durch eine De- normalisierung des Schemas beseitigt, so dass von der 3. NF abgewichen und eine Kombination aus 1. NF, 2.NF und 3.NF genutzt wird. Diese entstehenden Schemata sind zwar kaum noch intuitiv verständlich, zeigen aber ein wesentlich besseres Laufzeitverhalten.
Im Bereich der Softwaretechnologie werden objekt-relationale Mapping-Konzepte eingesetzt, um Objekte in einer relationalen Datenbank zu speichern und aus den entsprechenden Datensätzen wiederum Objekte zu erzeugen. Die verfügbaren objekt-relationalen Frameworks, wie zum Beispiel Hibernate (http://www.hibernate.org/), entlasten den Entwickler von der Programmierung von SQL-Abfragen und der eigentlichen Speicherung der Objekte.
Die Organisierung der Objekte kann nun entweder in der 3. NF, 2. NF oder 1. NF erfolgen. Aus Sicht der Datenbankwelt würde eine Umsetzung in der 3. NF erfolgen, wie es auch üblicherweise praktiziert wird. Auf der anderen Seite, wie es bereits in vielen Projekten auch evaluiert worden ist, ergeben sich erhebliche Performance-Probleme bei dieser Vorgehensweise. Diese Performance-Probleme werden üblicherweise durch eine De- normalisierung des Schemas beseitigt, so dass von der 3. NF abgewichen und eine Kombination aus 1. NF, 2.NF und 3.NF genutzt wird. Diese entstehenden Schemata sind zwar kaum noch intuitiv verständlich, zeigen aber ein wesentlich besseres Laufzeitverhalten.
Ziel des Kampfes
Das Ziel des Komplexpraktikums (Kampfes) besteht darin, zu verstehen, ob die Performance
von dem Schema der Speicherorganisierung der Objekte wirklich abhängig ist oder ob die
Optimierung der Datenbank einen wesentlich größeren Einfluss hat. Mit anderen Worten: Ist
eine optimierte 3. NF Datenbank besser als eine optimierte Datenbank aus einer Kombination
von 1.NF und 2. NF? Dieses Komplexpraktikum soll in dieses komplexe Forschungsgebiet
einführen, um wichtige praktische Erkenntnisse zu erhalten, die dann nachhaltig in das Gebiet
der Objekt-Persistenz-Frameworks einfließen sollen.
Kampfbedingungen
Im Vorfeld des Kampfes wird eine aussagefähige, aber kleine Skizze eines
Anwendungsbereiches aufgestellt. Diese Skizze umfasst ein Objektschema,
Integritätsbedingungen und eine Menge von Abfragen, einem sogenannten Workload. Dieser
Anwendungsbereich wird von der ersten Gruppe mit Hilfe von Hibernate und der 3.
Normalform umgesetzt. Die zweite Gruppe setzt diesen Anwendungsbereich mit Hilfe von
Hibernate und einer Kombination von 1. NF und 2. NF um. Beide Gruppen implementieren
die gleiche Funktionalität, wobei sich die Implementierungen wesentlich unterscheiden
werden. Nach dieser Implementierung widmen sich beider Gruppen der Optimierung der
Datenbank, so dass beide Applikationen effizient laufen.
Sieger des Kampfes
Im Anschluss daran wird der Sieger des Kampfes durch einen Performance-Vergleich der
entwickelten Anwendungen ermittelt.
Organisation
Gesucht werden 2 Gruppen mit jeweils 3-6 Gruppenmitgliedern.
Geplant sind zwei Wochen um Pfingsten herum.
Einschreibung erfolgt über jExam.
Fragen an: sebastian.richly_at_tu-dresden.de oder dirk.habich_at_tu-dresden.de
Geplant sind zwei Wochen um Pfingsten herum.
Einschreibung erfolgt über jExam.
Fragen an: sebastian.richly_at_tu-dresden.de oder dirk.habich_at_tu-dresden.de
Anrechnung
Diese Lehrveranstaltung kann wie im Lehrangebot der Fakult�t angegeben eingebracht werden. Studenten anderer Studiengänge können den Kurs besuchen, jedoch nicht prüfen lassen.