1 / 46

Anfragen an multidimensonale Daten

Anfragen an multidimensonale Daten. Alexander Heidrich - BID8 09.06.2005. Inhaltsübersicht. Motivation OLAP-Operationen Umsetzung in Standards SQL MDX Anfragetypen und -verarbeitung Fragen? / Diskussion!. Motivation.

berget
Download Presentation

Anfragen an multidimensonale Daten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Anfragen an multidimensonale Daten Alexander Heidrich - BID8 09.06.2005

  2. Inhaltsübersicht • Motivation • OLAP-Operationen • Umsetzung in Standards • SQL • MDX • Anfragetypen und -verarbeitung • Fragen? / Diskussion! Anfragen an multidimensionale Daten

  3. Motivation • Daten sind im Data Warehouse  Wie kommt man nun an seine Informationen? • Theoretische Grundlagen • Welche Erweiterungen der vorhandenen (Datenbank-)mittel gibt es? Wie werden sie benutzt? Anfragen an multidimensionale Daten

  4. Inhaltsübersicht • Motivation • OLAP-Operationen • Umsetzung in Standards • SQL • MDX • Anfragetypen und -verarbeitung • Fragen? / Diskussion! Anfragen an multidimensionale Daten

  5. OLAP-Operationen • Online Analytic Processing • Werkzeuge und Technologien, mit denen ein zugrundeliegendes DW benutzerfreundlich analysiert und abgefragt werden kann • eingesetzt zur Unterstützung von Managemententscheidungen (decision support) Anfragen an multidimensionale Daten

  6. OLAP-Operationen: Ausgangssituation Anfragen an multidimensionale Daten

  7. OLAP-Operationen • Roll-Up – Wechsel auf eine übergeordnete Betrachtungsebene • Drill-Down – Wechsel auf eine untergeordnete Betrachtungsbene Anfragen an multidimensionale Daten

  8. OLAP-Operationen • Drill-Across – Wechseln des betrachteten Fakts unter Beibehaltung der Betrachtungsebene Anfragen an multidimensionale Daten

  9. OLAP-Operationen • Slice – Zugriff auf Daten einer extrahierten Schicht Anfragen an multidimensionale Daten

  10. OLAP-Operationen • Dice – Zugriff auf Teilwürfel Anfragen an multidimensionale Daten

  11. OLAP-Operationen • Pivotierung – Drehen des Würfels durch Vertauschen der Dimensionen Anfragen an multidimensionale Daten

  12. Inhaltsübersicht • Motivation • OLAP-Operationen • Umsetzung in Standards • SQL • MDX • Anfragetypen und -verarbeitung • Fragen? / Diskussion! Anfragen an multidimensionale Daten

  13. Umsetzung in Standards - SQL • SQL-OLAP-Erweiterungen (seit SQL:1999) • (erweiterte) Gruppierungsfunktionalität • GROUP BY • GROUPINGSETS • GROUPING() • ROLLUP • CUBE • SQL-OLAP-Funktionen • Aggregate, Partitioning, Windows, Ranking • IBM und Oracle an Standardisierung beteiligt  integriert in DB2 und Oracle (DBMS) Anfragen an multidimensionale Daten

  14. SQL: Beispieldaten Anfragen an multidimensionale Daten

  15. SQL: Aggregate • Aggregatfunktionen COUNT(), SUM(), MIN(), MAX(), AVG() • Funktionen liefern in dieser Anwendung nur einen einzelnen Wert • Verwendung von GROUP BY Anfragen an multidimensionale Daten

  16. SQL: GROUP BY – Beispiel Anfragen an multidimensionale Daten

  17. SQL: GROUPING SETS • GROUP BY immer noch umständlich bei der Erzeugung von verschiedenen Gruppierungen (z.B. (Jahr, Land), (Jahr), (Jahr, Land, Verkäufe), etc.) • Lösung: GROUPING SETS  Gruppierungskombinationen Anfragen an multidimensionale Daten

  18. SQL: GROUPING SETS – Beispiel Anfragen an multidimensionale Daten

  19. SQL: ROLLUP-Operator • Erweiterung der GROUP-BY-Syntax um ROLLUP-Operator • erzeugt hierarchisch multidimensionale Gruppierung • GROUPING()-Funktion zur Indentifizierung von NULL-Werten Anfragen an multidimensionale Daten

  20. SQL: CUBE-Operator • Vorschlag von Microsoft und IBM • Erweiterung der GROUP-BY-Syntax um den CUBE-Operator • N-Dimensionale Generalisierung der einfachen Aggregatfunktionen Anfragen an multidimensionale Daten

  21. CUBE entsprechend GROUPING SETS( (),(Jahr),(Land),(Kategorie), (Jahr,Land),(Jahr, Kategorie),(Land,Kategorie), (Jahr,Land, Kategorie)) Anfragen an multidimensionale Daten

  22. SQL: Cube Anfragen an multidimensionale Daten

  23. SQL: OLAP-Funktionen • mit SQL:1999 eingeführt • umfassen: • Aggregate • Partionierung • Window (Bildung dynamischer Fenster) • Ranking • Kernkonstrukt: Over-Klausel Anfragen an multidimensionale Daten

  24. SQL: Over-Klausel Anfragen an multidimensionale Daten

  25. SQL: Over() – Beispiel • Over()  Aggregation über alle Tupel • Aggregatbildung, keine weitere Verdichtung Anfragen an multidimensionale Daten

  26. Partitionierung ähnlich Gruppierung SQL: Over() mit Partionierung - Beispiel PARTITON BY <attribute list> Anfragen an multidimensionale Daten

  27. SQL: Over() Bildung dynamischer Fenster OVER(ORDER BY <attribute list> [<window-spec>]) Anfragen an multidimensionale Daten

  28. SQL: Over() Bildung dynamischer Fenster - Beispiel Anfragen an multidimensionale Daten

  29. SQL: Ranking • Bestimmung der Postion eines Tupels in der Ergebnismenge • Duplikate erhalten den gleichen Rang • RANK() (mit Lücken) DENSE_RANK() (ohne Lücken) Anfragen an multidimensionale Daten

  30. SQL: Ranking - Beispiel Anfragen an multidimensionale Daten

  31. SQL: Umsetzung in DB2 und Oracle • Behauptung: DB2 und Oracle hinsichtlich den in SQL:1999 definierten OLAP-Erweiterungen/-funktionen gleich • SQL:2003 bringt weitere analytische Funktionen  bislang nur von/in Oracle implementiert Anfragen an multidimensionale Daten

  32. MDX • MDX = MultiDimensional eXpressions • orientiert sich stark an SQL-Syntax und MDDM • Entwicklung/Vorschlag von Microsoft Anfragen an multidimensionale Daten

  33. MDX • Dimensions (Select) • max. 64 • on COLUMNS, ROWS, … • Cube (From) • Slicer (Where) • Auswahl der darzustellenden Werte Anfragen an multidimensionale Daten

  34. MDX: Elemente • Measures  Fakten • als Dimension modelliert • Dimensions  Dimensionen • Level: Klassifikationsstufe (Jahr) • Member: Klassifikationsknoten (2003) • Syntax • {} Sets • [] Einschluß von Strings Anfragen an multidimensionale Daten

  35. MDX: Navigationsfunktionen • Navigationsfunktionen • Members: Knoten einer Klassifikationsstufe • Children: Kinderknoten eines Klassifikationsknotens • Parent: Elternknoten eines Klassifikationsknotens SELECT {[Kategorie].MEMBERS}  Autos, Computer SELECT {[ATHLONXP].PARENT}  CPU SELECT {[CPU].CHILDREN}  ATHLON64, ATHLONXP, PENTIUM4 Anfragen an multidimensionale Daten

  36. MDX: Beispiele • Drill-Down • Roll-Up • Crossjoin Anfragen an multidimensionale Daten

  37. MDX: Beispiel CROSSJOIN Drill-Down Roll-Up Anfragen an multidimensionale Daten

  38. MDX: weitere Funktionen • TOPCOUNT  Ergebnisbereich einer Dimension einschränken • FILTER  Einschränkung über beliebige Bedingungen • + viele weitere Funktionen  sehr mächtige Sprache mit hoher Komplexität Anfragen an multidimensionale Daten

  39. Inhaltsübersicht • Motivation • OLAP-Operationen • Umsetzung in Standards • SQL • MDX • Anfragetypen und -verarbeitung • Fragen? / Diskussion! Anfragen an multidimensionale Daten

  40. Anfragetypen Anfragen an multidimensionale Daten

  41. Methoden der Abfrageverarbeitung – Star Join • Star Schema als Grundlage • sehr große Faktentabelle • kleine, voneinander unabhängige Dimensionstabellen • Verbund zwischen n Dimensionstabellen und der Faktentabelle, Restriktionen über Dimensionstabellen • typisches Muster für DW-Anfragen Anfragen an multidimensionale Daten

  42. Star Join: Aufbau • SELECT-Klausel • Kenngrößen • Granularitäten • FROM-Klausel • Fakten- und Dimensionstabellen • WHERE-Klausel • Verbundbedingungen • Restriktionen Anfragen an multidimensionale Daten

  43. Star Join: Beispiel SELECT Geographie.Region, Zeit.Monat, SUM(Verkaeufe) FROM Verkauf, Zeit, Produkte, Geographie WHERE Verkauf.Produkt_ID = Produkt.ProduktID AND Verkauf.Zeit_ID = Zeit.ZeitID AND Verkauf.Geographie_ID = Geographie.GeographieID AND Produkt.Produktkategorie = 'Waschgeräte' AND Geographie.Land = 'Deutschland' AND Zeit.Jahr = 2000 Anfragen an multidimensionale Daten

  44. Star Join: Beispiel Anfragen an multidimensionale Daten

  45. Inhaltsübersicht • Motivation • OLAP-Operationen • Umsetzung in Standards • SQL • MDX • Anfragetypen und -verarbeitung • Fragen? / Diskussion! Anfragen an multidimensionale Daten

  46. Fragen? Diskussion!

More Related