Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Wissensmanagement in der Bioinformatik

Wissensmanagement in der Bioinformatik

Vorlesung

Data Warehousing

Übung zur Vorlesung im Sommersemester 2004

Professor Ulf Leser, Jörg Hakenberg



Organisatorisches

Zeit: Donnerstag, 15-17 Uhr
Ort: RUD 25, 3.113
Anmeldung: über GOYA
Abgabe der Lösungen: Jeweils am Mittwoch vor der Besprechung der Aufgabe, 16 Uhr
Übungsschein: Voraussetzung für den Erhalt eines Übungsscheines ist die Bearbeitung sämtlicher Aufgaben (in Gruppen) und die Vorstellung mindestens einer Lösung in einer der Übungsstunden (pro TeilnehmerIn). Mindestens die Hälfte der erreichbaren Punkte (20 pro Blatt) sollte dabei am Semesterende erzielt worden sein.


Die Übung wird in Gruppen á 2-3 Personen stattfinden. Es gilt, insgesamt 6 Aufgabenblätter zu lösen. Für die Bearbeitung stehen jeweils 2-3 Wochen zur Verfügung. Der Ablauf wird sich so gestalten, dass in einer Woche die neue Aufgabe gestellt und die Lösungen der alten Aufgabe besprochen werden, in der nächsten gibt es dann eine freie Frage- & Diskussionsstunde. Zudem stehen weitere Sprechzeiten sämtlichen Gruppen zur freien Verfügung.

Mindestens 3 von den 5 (oder 6) Aufgaben werden konkurrierend zu lösen sein. Zusätzlich zu den Bewertungen für korrekt gelöste Aufgaben, die für den Übungsschein ausschlaggebend sind, gibt es 'Wettbewerbspunkte'. Die Lösungvorschläge entsprechen einem vorgegebenen Format und werden bewertet nach Effizienz, Rechenzeit, Speicherplatz u.ä. Für die am Semesterende insgesamt beste Gruppe denken wir uns eine schöne Überraschung aus!

Bei der Besprechung stellt jede Gruppe ihre eigene Lösung kurz vor, jedes Gruppenmitglied muss im Semester mindestens einmal diese Präsentation übernehmen.

Für die Entwicklung und den Test der eigenen Lösung steht ein dedizierter DualProzessor-Server zur Verfügung, als Datenbank kommt Oracle9i zum Einsatz.


Im Folgenden finden sich kurze Beschreibungen zu den Übungsterminen und in Aufgaben behandelten Themen. Verweise auf das jeweils benötigte Material, Quellen und Folien finden sich zusätzlich im Anhang.

Übung am 15. April

  • Organisatorisches, Einteilung in Gruppen, Vergabe von Accounts
  • Wdh. DDL/DML, kurze Einführung in JDBC und PL/SQL, Benutzung von EXPLAIN PLAN

  • Aufgabenblatt 1
    Thema: Oracle, DDL/DML: SQL, JDBC; PL/SQL; EXPLAIN PLAN, Optimierung
    Programmiersprachen: Java, PL/SQL
    Bearbeitungszeit: 2 Wochen


Übung am 22. April

  • Fragen und Diskussion zur aktuellen Aufgabe, ggf. JDBC


Übung am 29. April

  • Präsentation der Lösungen zu Aufgabe 1

  • Aufgabenblatt 2
    Thema: Externe Speicher
    Programmiersprache: Java
    Bearbeitungszeit: 2 Wochen


Übung am 6. Mai

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 13. Mai

  • Präsentation der Lösungen zu Aufgabe 2
  • Lösungen

  • Aufgabenblatt 3
    Thema: Modellierung / Schema Design
    Bearbeitungszeit: 4 Wochen


Feiertag am 20. Mai

Übung am 27. Mai

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 3. Juni

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 10. Juni

  • Präsentation der Lösungen zu Aufgabe 3

  • Aufgabenblatt 4
    Thema: Physikalisches Tabellenlayout, Index Selection
    Bearbeitungszeit: 2 Wochen


Übung am 17. Juni

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 24. Juni

  • Präsentation der Lösungen zu Aufgabe 4
  • Lösungen

  • Aufgabenblatt 5
    Thema: Materialized Views, Query Rewrite, Präaggregation
    Bearbeitungszeit: 3 Wochen


Übung am 1. Juli

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 8. Juli

  • Fragen und Diskussion zur aktuellen Aufgabe


Übung am 15. Juli

  • Präsentation der Lösungen zu Aufgabe 5
  • Lösungen
  • Abschlussbesprechung, Preisverleihung



Material für die Übung

Im Verzeichnis $HOME/DATEN/ auf Eurem Gruppenaccount findet Ihr die für die jeweilige Aufgabe benötigten Dateien. Dies sind z.B. SQL-Skripte zum Erstellen und Auslesen der plan_table oder Coderümpfe z.B. für die Benutzung von JDBC.

Aufgabe 1



Aufgabe 2

  • die benötigten Textdateien data1 und data2 liegen auf dem Server morawetz unter:
    ~$HOME/DATEN/Uebung2/


Aufgabe 3

  • SQL-Skripte zur formatierten Ausgabe der plan_table:
    siehe Einführung zu Explain Plan, Abschnitt Ausgabe
    oder Material zur Aufgabe 1: $HOME/DATEN/Uebung1/*.sql


Aufgabe 4

  • die Tabelle a4_order findet sich im Schema des Oracle-Users muster der Datenbank lehre auf morawetz
  • Rahmenskript zur Einbettung der eigenen Anfragen, Start von der UNIX-Konsole mittels
          morawetz> sqlplus name/passwort@lehre @query
    
  • wir verwenden für diese Aufgabe das TPC-H - Schema von www.tpc.org
  • das Schema im Überblick und die Tabellendefinitionen
  • Hinweise zur Benutzung von Indizes finden sich hier
  • Gegenüberstellung B*-tree vs. Bitmap-Indexes als Foliensatz


Aufgabe 5

  • Erläuterungen zu Materialized Views
    Folien aus der Übungsstunde
  • Fragen vom letzten Mal und Infos zur aktuellen Aufgabe

  • Es gibt zu Oracle9i einen Data Warehousing Guide, der sich u.a. mit Materialized Views ( Kapitel 8) beschäftigt.

  • die Statistiken einer Tabelle lassen sich ansehen mit dem Skript stat_view.sql
    ein Beispiel findet sich in statistics.log
    Das Skript fragt zunächst nach Eurem Benutzernamen (GRUPPEx) und dann nach dem Namen der Tabelle. Gebt hier nur Namen von Tabellen an, die zuvor analysiert wurden, sonst gibt es eine Fehlermeldung! Einfach RETURN zu drücken, um alle Tabellen angezeigt zu bekommen, funktioniert in den meisten Fällen nicht!
    Die Ergebnisse werden zusätzlich in der Datei statistics.log abgelegt.

  • Wir verwenden für diese Aufgabe wieder das TPC-H - Schema, siehe Aufgabe 4
    Näheres findet Ihr bei Interesse in der Dokumentation (150 Seiten!)

Last modified: [jh, 2004-07-01]