Data Warehouse
Teil 1 Einleitung
Wichtig
- Grundbegriffe
- Architekturkomponenten
- OLTP vs OLAP (= op. DB vs. DWH)
Teil 2 Multidimensional
Wichtig
- Grundbegriffe
- mUML
Teil 3 Anwendung
Wichtig
- Arten von Anwendungen
- Support/Konfidenz
Weniger wichtig
- Reifegrade (Folien 36/37)
Teil 5 Datenbank
Wichtig
- Sternschema/Schneeflockenschema
- Schema erstellen zur Beschreibung
- Schema überführen (mUML, Stern, Schneeflocke)
Weniger wichtig
- Multidimensonale Speicherung
- Archiv
Teil 6 ETL
Wichtig
- Einzelne Aufgaben des ETL
- Erweiteres INSERT
- MERGE
Weniger wichtig
- Architekturen
- Externe Tabellen
- Andere Integrationsansätze
Teil 7 Datenqualität
Wichtig
- Q-Metriken an gegebenen Daten erkennen
Weniger wichtig
- CLIQ
Teil 8 SQL-Erweiterung
Wichtig
- ROLLUP-Operator
- CUBE-Operator
- Zusammensetzung Resultat erklären
Teil 9 SQL-Analytisch
Wichtig
- Fenster beschreiben
- Rangfunktionen
- Zugriff auf Zeilen
Weniger wichtig
- EXCLUDE
Teil 10 Physische Optimierung
Wichtig
- Bitmap-Index (diverse Variatnen)
- Mat.Sichten: Auswahlalgorithmus
- Zugriff auf Zeilen
- Spaltenorientiert: Anfrage (Folie 84/85)
Weniger wichtig
- Bitmap bei Verbundanfragen
- Partitionierung
- Mat. Sichten: Syntax/SQL-Option
Beispiel Gredy-Algorithmus
- 6.000 Detaildaten
- S = 1000
- Durchgang
- M = {(A1, A2, A3)}
- s = 0
Knoten | Kosten | Nutzen |
---|---|---|
(A1) | 12 | 11956 |
(A2) | 50 | 11900 |
(A3) | 10 | 11980 |
(A1, A2) | 600 | 21600 |
(A1, A3) | 120 | 23520 |
(A2, A3) | 500 | 22000 |
- Wähle (A1, A3), da größter Nutzen
- M = {(A1, A2, A3), (A1, A3)}
- s = 0 + 120 = 120
- Durchgang
- M = {(A1, A2, A3), (A1, A3)}
- s = 120
Knoten | Kosten | Nutzen |
---|---|---|
(A1) | 12 | 216 |
(A2) | 50 | 11900 |
(A3) | 10 | 220 |
(A1, A2) | 600 | 10800 |
(A2, A3) | 500 | 11000 |
- Wähle (A2), da größter Nutzen
- M = {(A1, A2, A3), (A1, A3), (A2)}
- s = 0 + 120 + 50 = 170
- Durchgang
- M = {(A1, A2, A3), (A1, A3)}
- s = 170
Knoten | Kosten | Nutzen |
---|---|---|
(A1) | 12 | 216 |
(A3) | 10 | 220 |
(A1, A2) | 600 | 5400 |
(A2, A3) | 500 | 5500 |
- Wähle (A2), da größter Nutzen
- M = {(A1, A2, A3), (A1, A3), (A2), (A2, A3)}
- s = 0 + 120 + 50 + 500 = 670
- Durchgang
- M = {(A1, A2, A3), (A1, A3), (A2), (A2, A3)}
- s = 670
Knoten | Kosten | Nutzen |
---|---|---|
(A1) | 12 | 216 |
(A3) | 10 | 220 |
(A1, A2) | 600 | 5400 |
- Wähle (A1, A2), da größter Nutzen
- M = {(A1, A2, A3), (A1, A3), (A2), (A2, A3), (A1, A2)}
- s = 0 + 120 + 50 + 500 + 600 = 1270
s = 1270 und somit größer als 1000. Deshalb terminiert es.
Ergebnis
- M = {(A1, A2, A3), (A1, A3), (A2), (A2, A3)}
Ergebnis enthält der letzte Knote nicht!
Beispiel Gredy-Algorithmus
- 6.000 Detaildaten
- S = 1000
- Durchgang
- M = {(A1, A2, A3)}
- s = 0
Knoten | Kosten | Nutzen |
---|---|---|
(A1) | 20 | 1960 |
(A3) | 10 | 1860 |
(A1, A2) | 600 | 1600 |
(A1, A3) | 120 | 1200 |
(A2, A3) | 500 | 2000 |
Angenommen (A1, A2) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 50 | 600 | 0 |
(A1) | 1000 | 600 | 400 |
(A2) | 50 | 600 | 0 |
(A1, A2) | 1000 | 600 | 400 |
Nutzen (Gesamt) = 400 + 400 = 800
Angenommen (A2, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 50 | 500 | 0 |
(A2) | 50 | 500 | 0 |
(A3) | 1000 | 500 | 500 |
(A2, A3) | 1000 | 500 | 500 |
Nutzen (Gesamt) = 500 + 500 = 1000
Angenommen (A1, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 50 | 700 | 0 |
(A1) | 1000 | 700 | 300 |
(A3) | 1000 | 700 | 300 |
(A1, A3) | 1000 | 700 | 300 |
Nutzen (Gesamt) = 300 + 300 + 300 = 900
Angenommen (A1) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 50 | 20 | 30 |
(A1) | 1000 | 20 | 980 |
Nutzen (Gesamt) = 980 + 30 = 1010
Angenommen (A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 50 | 70 | 0 |
(A3) | 1000 | 70 | 930 |
Nutzen (Gesamt) = 930 + 0 = 930
Knote (A1) wird materialisiert. s = 20 → Verbraucht S = 1000 - 20 = 980 → Übrig
Durchgang 2
Angenommen (A2, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 500 | 0 |
(A2) | 50 | 500 | 0 |
(A3) | 1000 | 500 | 500 |
(A2, A3) | 1000 | 500 | 500 |
Nutzen (Gesamt) = 500 + 500 = 1000
Angenommen (A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 70 | 0 |
(A3) | 1000 | 70 | 930 |
Nutzen (Gesamt) = 930 + 0 = 930
Angenommen (A1, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 700 | 0 |
(A1) | 20 | 700 | 0 |
(A3) | 1000 | 700 | 300 |
(A1, A3) | 1000 | 700 | 300 |
Nutzen (Gesamt) = 300 + 300 = 600
Angenommen (A1, A2) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 600 | 0 |
(A1) | 20 | 600 | 0 |
(A2) | 50 | 600 | 0 |
(A1, A2) | 1000 | 600 | 400 |
Nutzen (Gesamt) = 400 = 400
Knote (A3) wird materialisiert. s = 70 → Verbraucht S = 980 - 70 = 910 → Übrig
Durchgang 3
Angenommen (A1, A2) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 600 | 0 |
(A1) | 20 | 600 | 0 |
(A2) | 50 | 600 | 0 |
(A1, A2) | 1000 | 600 | 400 |
Nutzen (Gesamt) = 400 = 400
Angenommen (A1, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 700 | 0 |
(A1) | 20 | 700 | 0 |
(A3) | 70 | 700 | 0 |
(A1, A3) | 1000 | 700 | 300 |
Nutzen (Gesamt) = 300 = 300
Angenommen (A2, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 500 | 0 |
(A2) | 50 | 500 | 0 |
(A3) | 70 | 500 | 0 |
(A2, A3) | 1000 | 500 | 500 |
Nutzen (Gesamt) = 500 = 500
Knote (A2, A3) wird materialisiert. s = 500 → Verbraucht S = 910 - 500 = 410 → Übrig
Durchgang 4 nicht machen, Begründung unten
Alle mögliche Materalisierung gehen über den verbleibenden Speicherplatz hinaus
4. Durchgang
Angenommen (A1, A2) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 600 | 0 |
(A1) | 20 | 600 | 0 |
(A2) | 50 | 600 | 0 |
(A1, A2) | 1000 | 600 | 400 |
Nutzen (Gesamt) = 400 = 400
Angenommen (A1, A3) wird materialisiert: Was bedeutet das für alle noch nicht materialisierten Knoten:
Knoten | Aktuelle Kosten | Potenzielle Kosten | Nutzen |
---|---|---|---|
() | 20 | 700 | 0 |
(A1) | 20 | 700 | 0 |
(A3) | 70 | 700 | 0 |
(A1, A3) | 1000 | 700 | 300 |
Nutzen (Gesamt) = 300 = 300
Knote (A1, A2) wird materialisiert. s = 600 → Verbraucht S = 910 - 500 = 410 → Übrig