Wirtschaftsinformatik: Komplexe Datenbankanwendungen 2

Sie sind hier: StartseiteWirtschaftsinformatikKomplexe Datenbankanwendungen 2 (Technische Realisierung)

IC / CM, Kurs vom 01.04.2006 - 30.09.2006

Komplexe Datenbankanwendungen 2: Technische Realisierung (Anfragebearbeitung, Operatoren), Summierbarkeit von Kennzahlen (Summationstyp Flow, Summationstyp Stock, Summationstyp Value-Per-Unit, Klassifikation von Aggregationsfunktionen, Partitionierung, Materialisierung).

  1. Technische Realisierung
  2. Summierbarkeit von Kennzahlen

Technische Realisierung

Anfragebearbeitung

Anfragebearbeitungsschritte:

  1. Interndarstellung
    • Syntaktische Analyse, Kontextanalyse (Syntaxbaum)
  2. Zugriffs- und Integritätskontrolle
    • Einfügen von Prüfoperatoren
  3. Anfrageoptimierung / Codeerzeugung
    • Transformation auf logischer Ebene (Relationenalgebra)
    • Abbildung auf physische Operatoren (Anfrageplan)
  4. Ausführung
    • Überwachung der Anfrageabarbeitung
    • Pipelining
    • Ergebnisbereitstellung (Cursor)

Statistische Information zur Anfrageoptimierung:

Operatoren

  1. Operatoren zum Durchwandern von Datensätzen (Scan-Operatoren)
    • Tabellen-Scan
    • Index-Scan
  2. Verbundoperatoren
    • Geschachtelte Schleifen (nested loop join)
      1. Durchlauf (scan) durch die Zeilen t1 von Äußere Tabelle T1
      2. Für jede Zeile t1
        • Durchlauf (scan) durch die Zeilen t2 von Innere Tabelle T2
        • Übernahme von (t1,t2) in das Ergebnis wenn t1.A = t2.A
    • Mischverknüpfung (merge join)
      1. Voraussetzung: Sortierung auf Spalte A liegt vor
      2. Lies erste Zeile t1 von T1
        • (*) Lies Zeilen von T2 bis eine Zeile t2 mit t1.A = t2.A gefunden wird
        • Übernahme von (t1,t2) in das Ergebnis
        • Lies Zeilen von T2 bis eine Zeile tx mit t1.A ≠ tx.A gefunden wird oder keine Zeile in T2 mehr vorhanden ist
          • Übernahme aller bis dahin gelesenen T2-Zeilen in das Ergebnis
        • Gehe auf Zeile t2 zurück
      3. Solange noch Zeilen in T1 vorhanden sind: Lies nächste Zeile von T1 und verfahre wie bei (*)
    • Hash-Verknüpfung (hash join)
      1. Erzeugung einer Hash-Tabelle für T2
      2. Durchlauf (scan) durch die Zeilen t1 von T1
      3. Für jede Zeile t1
        • Berechnung des Hash-Wertes von t1.A
        • Ermittlung der passenden t2 aus T2 über die Hash-Tabelle
        • Übernahme von (t1,t2) in das Ergebnis
  3. Sonstige
    • Extrahieren von Datensätzen über TID/RID
    • Anwendung von zusätzlichen Prädikaten über die im Tabellen- bzw. Index-Scan hinaus
    • Sortierung (mit oder ohne Gruppierung)
    • Gruppierungen
    • Operatoren auf TID/RID: Und/Oder-Verknüpfung von Indizes
    • Erstellung temporärer Tabellen

Star-Join-Verbundstrategie: Kartesisches Produkt (mit Vorselektion) der Dimensionentabellen bilden. Danach Verbund mit Faktentabelle.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Summierbarkeit von Kennzahlen

Summationstyp Flow

Gilt für Fakten, die in allen Dimensionen summierbar sind. Beispiele: Bestellmengen, Anzahl Neuabschlüsse von Versicherungen, Anzahl neuer Kunden

Konkretes Beispiel: Verkauf mit Filiale, Produkt, Datum, Menge

Summationstyp Stock

Gilt für Fakten, die in allen Dimensionen außer der temporalen summierbar sind. Beispiele: Lagerbestand, Kundenbestand, Kontostand

Konkretes Beispiel: Lagerbestand mit Lager, Produkt, Datum, Menge

Summationstyp Value-Per-Unit

Gilt für Fakten, die grundsätzlich nicht summierbar sind. Auf diesen können nur die Aggregationsfunktionen min(), max() und avg() angewendet werden. Beispiele: Verkaufspreis, Wechselkurs, Steuersatz

Konkretes Beispiel: Verkaufspreis mit Kundenkategorie, Produkt, Datum, Menge

Klassifikation von Aggregationsfunktionen

  1. Hintergrund dieser Klassifikation
    • Möglichkeiten der inkrementellen Aktualisierung materialisierter Sichten
    • Keine einheitlichen Definitionen in der Literatur
  2. Additiv
    • Inkrementelle Aktualisierung möglich sowohl in Bezug auf Ergänzungen des Datenbestands als auch in Bezug auf Löschungen von Datensätzen
  3. Semi-additiv
    • Inkrementelle Aktualisierung nur in Bezug auf Ergänzungen möglich
  4. Additiv berechenbar
    • Inkrementelle Aktualisierung indirekt und nur in Bezug auf Ergänzungen möglich
  5. Nicht additiv
    • Inkrementelle Aktualisierung nicht möglich
Beispiele
Art Funktion Ergänzung von Datenbeständen Löschung von Daten
additiv sum sum Subtraktion
count sum Subtraktion
semi-additiv min min
max max
additiv berechenbar avg sum/count Voraussetzung: Summen- und Anzahl-Kennzahl sind vorhanden
nicht additiv distinct count
median

Partitionierung

  1. Zerlegung einer logischen Einheit in mehrere physische
  2. Verwaltung sehr großer Relationen
    • Effizientes Einfügen/Löschen ganzer Teile einer Datenbasis
  3. Effizienzsteigerung bei der Anfragebearbeitung
    • Überspringen von Partitionen
    • Parallele Bearbeitung von Partitionen

Beispiel: Aus einer Tabelle "Bestellungen" werden die Daten jahresweise herausgefiltert. Dadurch entstehen jahresabhängige Einzeltabellen, z.B. Tabelle "Bestellungen 2005" und Tabelle "Bestellungen 2006".

Materialisierung