Title: OLAP
1OLAP
2Warum?
- Daten einer Firma verfügbar machen für
Entscheidungsprozesse - Umsetzung schwierig
- neue Konzepte notwendig zur analytischen
Informationsverarbeitung - OLAP
- Data Warehousing
- Data Mining
3OLAP Einleitung
DSS Decision Support System
4Einführungsbeispiel
Umsatz pro Zeit und Produkt
5Einführungsbeispiel
Umsatz pro Zeit, Produkt und Region
6Einführungsbeispiel
7OLAP
- OLAP erleichtert die Analyse von Kennzahlen unter
verschiedenen Gesichtspunkten (Dimensionen) - z.B. Produktmanager, Bereichsleiterin
- Kennzahlen
- graphische Darstellung (Diagramme)
- Dynamische, multidimensionale Geschäftsanalyse
mit Simulationskomponente
8Was ist OLAP?
- OLAP ist ...
- ... ein Überbegriff für Technologien, Methoden
und Tools zur Ad-hoc-Analyse multidimensionaler
Informationen - ... bietet verschiedene Sichtweisen
- ... eine Komponente der entscheidungsorientierten
Informationsverarbeitung
9Analyse-Datenmodelle
- kategorisches (beschreibendes) Modell
- statisches Analysemodell zur Beschreibung des
gegenwärtigen Zustands - Vergleich von historischen mit aktuellen Daten
- exegetisches (erklärendes) Modell
- zur Erklärung der Ursachen für Zustand durch
Nach-vollziehen der Schritte, die ihn
hervorgebracht haben(durch einfache Anfragen) - kontemplatives (bedenkendes) Modell
- Simulation von What IfSzenarios für
vorgegebeneWerte oder Abweichungen innerhalb
einer Dimensionoder über mehrere Dimensionen
hinweg - formelbasiertes Modell
- gibt Lösungswege vor ermittelt für vorgegebene
Anfangs- und Endzustände, welche Veränderung
fürwelche Kenngröße bzgl. welcher Kenngröße für
ange-strebtes Ergebnis notwendig
Komplexität
10OLAP Charakteristika
11OLAP Charakteristika
Evaluierungsregeln nach E. F. Codd
- Multidimensionale konzeptionelle Sichten
- funktionale Transparenz
- unbeschränkter Zugriff auf operative und/oder
externe Datenquellen - konsistente Berichtsgenerierung
- Client-/Server Architektur
- gleichgestellte Dimensionen
- dynamische Behandlung dünn besetzter Datenwürfel
- mehrere Anwender
- unbeschränkte, dimensionsübergreifende Operationen
12OLAP Charakteristika - FASMI
- FASMI Fast Analysis of Shared Multidimensional
- Information
- Fast 1-2 Sekunden als Antwortzeit bei einfachen
Anfragen bis maximal 20 Sekunden für komplexe
Datenanalysen - Analysis Verfahren und Techniken zu einfachen
mathematischen Berechnungen und
Strukturuntersuchungen - Shared Schutzmechanismen für den Zugriff im
Mehrbenutzerbetrieb - Multidimensional Multidimensionale
konzeptionelle Sicht auf Informationsobjekte,
d.h. freier Zugriff auf einen Datenwürfel und
multiple Berichtshierarchien über die Dimensionen
13OLAP Charakteristika
- Daten werden über Dimensionen beschrieben.
- Begriffe Multidimensionalität, Hypercubes,
Ausprägungen (Members), Zellen
CD
DVD
Produkte
Fernseher
Video
Sachsen-Anhalt
Kühlschrank
Thüringen
Regionen
Sachsen
Aug
Sep
Nov
Jan
Feb
Mrz
Apr
Mai
Jun
Okt
Dez
Jul
Zeit
14OLAP Charakteristika
- Dimensionen können Hierarchien haben.
Alle Produkte
Kosmetik
Lippenstift
Produkte
Deo
Haarzeugs
Elektro
Alle Regionen
DVD
Sachsen-A.
Region
Sachsen
CD
Thüringen
2000
Aug
Sep
Nov
Jan
Feb
Mrz
Apr
Mai
Jun
Okt
Dez
Jul
Q1
Q2
Q3
Q4
Zeit
15Zu Hierarchien
- Hierarchie
- Hierarchische Aufteilung der Dimension
Lipp.
Kosmetik
Produkte
Dimension Produkte
Elektro
16Architekturkonzepte
17OLAP Grobarchitektur
18OLAP Architekturkonzepte
- ROLAP Relational OLAP
- bei Abbildung in Relationen möglichst wenig
Verlust von Semantik, die im multidimensionalen
Modell enthalten - Effiziente Übersetzung und Abarbeitung von
multidimensionalen Anfragen - Einfache Wartung (z.B. Laden neuer Daten)
- MOLAP Multidimensional OLAP
- direkte Speicherung multidimensionaler Daten in
multidimensionalen DBMS - HOLAP Hybrid OLAP
- Kombiniert Vorteile von relationaler und
multidimensionaler Realisierung
19Architekturkonzept ROLAP
- SQL zur Datentransformation
- Multidimensionale Datenmodelle werden in
2-dimensionalen Tabellen gespeichert - Star-, Snowflake, Starflake-Schema
Dim4
Facts Dim1ID Dim2ID Dim3ID Dim4ID
Dim1
Dim3
Dim2
Star-Schema
Beispiel
20ROLAP - Star-Schema
- erstellen von Fakten- und Dimensionstabellen
- Faktentabelle mit Schlüsseln für
Dimensionstabellen - in Dimensionstabellen stehen relevante Daten
- Redundanz
- Alternative wäre Snowflake-Schema
- Dimensionsdaten relativ stabil
21Architekturkonzept MOLAP
- Speicherung erfolgt in multidimensionalen
Speicherarrays - Multidimensionale Speicherstrukturen werden
komplett übernommen - Hypercube
- Datenbestand in einem Würfel
- Multicube
- kleinere Würfel
22Architekturkonzepte
ROLAPRelationales OLAP Daten werden relational
gespeichert
- Komplexe Anfragen können hohe Antwortzeiten
verursachen - Grosse Datenmengen verarbeitbar
?
?
Query and Calculation Engine
OLAP-Frontend
HOLAP Hybrides OLAP
MOLAP Multidimen-sionales OLAP Daten
werdenmultidimensionalgespeichert
23Unterschiede OLTP/OLAP
Transaktionsorientierte Systeme Operative Systeme
Auswertungsorientierte Systeme
OLTP(Online Transaction Processing)
OLAP(Online Analytical Processing)
Weniger häufige, komplexe Anfragen
Häufige, einfache Anfragen
Grosse Datenmengen je Anfrage
Kleine Datenmengen je Anfrage
Operieren auf aktuellen und historischen Daten
Operieren hauptsächlich auf aktuellen Daten
Schnelle Kalkulation wichtig
Schneller Update wichtig
? Datenbanksystem kann nicht gleichzeitig für
OLTP- und für OLAP-Anwendungen optimiert werden
Paralleles Ausführung von OLAP-Anfragen auf
operationalen Datenbe-ständen könnte
Leistungsfähigkeit der OLTP-Anwendungen
beeinträchtigen
24OLAP Funktionalität
25OLAP Funktionen
- Die multidimensionalen Daten können am Bildschirm
flexibel präsentiert werden.
Roll-up
Drill-down
26OLAP Funktionalität
- Die multidimensionalen Daten können am Bildschirm
flexibel präsentiert werden.
Slice
Kennzahlen Umsatz Gewinn Produkte Regionen Zeit
Kennzahlen Umsatz Gewinn Produkte Regionen Zeit
Eine beliebige Kombination von Dimensionen und
Aus-prägungen kann angezeigt werden.
27OLAP Funktionalität
- Die multidimensionalen Daten können am Bildschirm
flexibel präsentiert werden.
Dice
Die Achsen können beliebig ausgetauscht werden.
28OLAP Funktionalität
- Drill Down
- erhöhen des Detaillierungsgrades
- Roll Up
- invers zu Drill Down
- Pivot
- betrachten aus unterschiedlichen Perspektiven
- rotate
- Slice Dice
- ändern des Analyseblickwinkels
29OLAP in SQL
30Themen
- Materialized Views
- Merge von Tabellen
- SQL für Drill down und Roll up (ROLAP)
- CUBE-Operator
31Tabellen für Beispiel (Star Schema)
32OLAP Anfragebeispiel
Erzeugen einer materialisierten Sicht CREATE
MATERIALIZE VIEW Verdichtung mittels GROUP BY
Beispiel Ermittle die quartalsweises
Verkaufszahlen pro Pizza-Marke und Region
CREATE MATERIALIZED VIEW Region_Marke_Quartal
ASSELECT O.Region, P.Marke, Z.Quartal,
SUM(V.Anz) AS AnzahlFROM (((Verkaufszahl V
JOIN Ort O ON (V.FilialeO.Filiale))
JOIN Zeit Z ON (V.TagZ.Tag)) JOIN
Produkt P ON (V.ProduktP.Produkt))GROUP BY
O.Region, P.Marke, Z.Quartal
- Materialisierte Sichten
- vielbenutzte Aggregate (Analysen) materialisieren
- schnellerer Zugriff auf Daten
- Ablegen der Daten in eigene Relationen
33OLAP-Anfragebeispiel
Verdichtung erhöhen durch Entfernung von
Attributen aus der GROUP BY-Klausel.
Beispiel Ermittle die Gesamt-Verkaufszahlen für
alle Regionen
SELECT O.Region, SUM(V.Anz) AS AnzahlFROM
(((Verkaufszahl V JOIN Ort O ON
(V.FilialeO.Filiale)) JOIN Zeit Z ON
(V.TagZ.Tag)) JOIN Produkt P ON
(V.ProduktP.Produkt))GROUP BY O.Region
- weitere Verdichtungen möglich
- automatisches Umschreiben der Anfrage durch
Datenbank-Optimierer (query rewrite) Verwenden
der materialisierten Sicht zur weiteren
Verdichtung
- weitere Verdichtungen möglich
34SQL-Erweiterungen zum Einfügen
- Kombination von Aktualisieren und Einfügen
- BeispielListe neuer Produkte mit bestehender
Tabelle Produkt mischen
MERGE INTO Produkt P1 USING (SELECT ID, Name
FROM Produkt_Neu) P2 ON (P1.ID
P2.ID) WHEN MATCHED THEN UPDATE SET P1.Name
P2.Name WHEN NOT MATCHED THEN INSERT (P1.ID,
P1.Name) VALUES (P2.ID, P2.Name)
35Komplexes Gruppieren
SELECT Monat, Produkt, SUM(Anz) AS
Anz FROM Ort_Produkt_Monat_Verkauf GROUP BY
Monat, Produkt
- Beispieldaten für Gruppierungsanfragen
36Komplexes Gruppieren
SELECT DECODE (GROUPING (Monat),1,Alle
Monate, Monat) AS Monat, DECODE
(GROUPING(Produkt),1,Alle Produkte, Produkt)
AS Produkt, SUM(Anz) AS Anz FROM Ort_Produkt_Monat
_Verkauf GROUP BY ROLLUP (Monat, Produkt)
SELECT DECODE (GROUPING (Monat),1,Alle
Monate, Monat) AS Monat, DECODE
(GROUPING(Produkt),1,Alle Produkte, Produkt)
AS Produkt, SUM(Anz) AS Anz FROM Ort_Produkt_Monat
_Verkauf GROUP BY CUBE (Monat, Produkt)
37Hinweise zum Beispiel
- ROLLUP
- berücksichtigt auch Zwischen- und Endsummen
- Funktion GROUPING liefert 1 bei Summe
- DECODE kann Standard-Rückgabewert mit Text füllen
- DECODE vergleichbar mit bedingter Anweisung
- DECODE (ausdruck, if1, then1, if2, then2, ,
else) - ohne GROUPING/DECODE erscheinen Nullwerte
- CUBE-Operator
- GROUP BY CUBE (Spalte1,Spalte2,Spalte3,)
- k Dimensionen 2k mögliche GROUP BY-Klauseln
- bietet Ansatz zur Optimierung
38Zukünftige Entwicklung
- Web OLAP mit Front End über Web
- Verknüpfung von OLAP mit anderen Werkzeugen (z.B.
Reporting) - Konzepte weiterentwickeln
- Anwendungen auf horizontalen oder vertikalen
Markt zuschneiden (bestimmte Branche oder
bestimmte Unternehmensfunktion)