Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Data Warehousing für TPC-D Daten

Ähnliche Präsentationen


Präsentation zum Thema: "Data Warehousing für TPC-D Daten"—  Präsentation transkript:

1 Data Warehousing für TPC-D Daten
Multidimensionale Datenbanken Data Warehousing für TPC-D Daten Teil II:Modellierung und Erstellung eines Data Cubes mit MS OLAP Manager für TPC-D Daten Unser Thema betrifft Multidimensionale Datenbanken. Zuerst werde ich im theoretische Teil etwas über den CUBE Operator als Erweiterung der SQL-Syntax erzählen. Danach wird euch Thomas über unsere praktische Erfahrung mit materialisierten CUBEs berichten. Insbesondere von solchen die mit dem Microsoft Decision Support Server erstellt wurden. Thomas Stocker & Patrick Sager Data Warehousing für TPC-D Daten 1 Patrick Sager & Thomas Stocker

2 Multidimensionale Datenbanken
Aufgabenstellung Erzeugen eines Datawarehouse mit TPC-D Daten MS OLAP Manager OLE DB Oracle MS-DSS Server ODBC Wrapper OLE DB ist Interface für Datenaustausch text graphic geographische Daten mainframe ISAM/VSAM hierarchical Databases custom business objects ODBC ist Standardschnittstelle für Relationale Datenbanken um SQL Befehle und Daten zu übertragen. Relational Database Cube TPC-D Daten Thomas Stocker & Patrick Sager Aufgabe 2 Patrick Sager & Thomas Stocker

3 Multidimensionale Datenbanken
TPC-D Datenmenge CUSTOMER SF*150K NATION 25 REGION 5 ORDER SF*1500K SUPPLIER SF*10K PART SF*200K LINEITEM SF*6000K PARTSUPP SF*200K Mit indexen und temporären Tabellen waere die Datenbank noch einmal 3-5 mal grösser. wegen Platzproblemen, haben wir aber nur auf die Schlüssel einen Index gemacht. SF=Scalefactor: 1-> 1 GB Daten Thomas Stocker & Patrick Sager Aufgabe 3 Patrick Sager & Thomas Stocker

4 Multidimensionale Datenbanken
Warum TPC-D ? TPC-D Business Analysis Business Operations TPC-A TPC-B TPC-C TPC ist eine Organisation die Benchmarks für Datenbanken entwickelt der TPC-D Benchmark ist der neuste entwicklte Benchmark und hat das Ziel die Datawarehouse möglichkeiten der Produkte zu testen. Thomas Stocker & Patrick Sager Aufgabe 4 Patrick Sager & Thomas Stocker

5 Multidimensionale Datenbanken
Bezeichnungen Dimensionsarten Zeitdimension Hierarchische Dimension Mass Datum Jahr Monat Tag 50 200 Februar / 550 / 250 1998 / 670 300 / 300 100 Januar / 120 / 100 20 / 20 Kunde ABB / 370 UBS / 300 Name ALL / 670 Schweiz / 670 Land Thomas Stocker & Patrick Sager Begriffe 5 Patrick Sager & Thomas Stocker

6 Multidimensionale Datenbanken
Schemas Star-Schema Snowflake-Schema Die gelben Tabellen sind die Facttabellen und die grünen Tabellen sind die Dimensionstabellen. Die Pfeile wiederspiegeln die Hierarchische abhängigkeit im Relationen Schlüssel und Fremdschlüssel Beziehungen. Es Darf nur eine Facttabelle geben und sie darf nur Fremdschlüssel besitzen oder darf das heisst es dürfen nur Pfeile auf sie zeigen. Thomas Stocker & Patrick Sager Begriffe 6 Patrick Sager & Thomas Stocker

7 Multidimensionale Datenbanken
Server-Architektur Rolap: ist Relationales online analytical processing Holap: hybrides OLAP Daten in Reltionaler Tabelle Aggregate in Cube Molap: Multidimensionales OLAP alles in einem Cube sollte effiezienter sein. Custom Application: eigene Verwaltung des DSS Servers in Visual Basic. OLAP Manager: Verwaltung und Design. MMC: Microsoft Managment Console (Benutzeroberfläche) Snap IN ermöglicht das einfügen einer Console Custom Add-In mit Benutzeroberfläche interagieren. Thomas Stocker & Patrick Sager Architektur des Servers 7 Patrick Sager & Thomas Stocker

8 Multidimensionale Datenbanken
Speicherarten ROLAP Dimensionen: In relationalen Tabellen gespeichert. Aggregate: In relationalen Tabellen gespeichert. Schlechte Performance, gute Skalierbarkeit MOLAP (von uns benutzt) Dimensionen: In multidimensionaler Datenstruktur gespeichert. Aggregate: In multidimensionaler Datenstruktur gespeichert. Gute Performance, schlechte Skalierbarkeit HOLAP Gute Performance, gute Skalierbarkeit Wir haben MOLAP realisiert, weil es und nur auf die Performance ankam, und weil es eigentlich die Aufgabenstellung verlangte. Speicherart ist für den Benutzer transparent. Thomas Stocker & Patrick Sager Architektur des Servers 8 Patrick Sager & Thomas Stocker

9 MS OLAP Speichermechanismen -1
Multidimensionale Datenbanken MS OLAP Speichermechanismen -1 Zellenspeicherung alle Zellen Bsp.: 12.5 % der Zellen besetzt - 8 mal mehr Speicherplatzverbrauch. MS DSS speichert nur Zellen mit Werten Datum Jahr Monat Tag Februar 1998 Januar 20 Kunde ABB UBS Name Schweiz Land Thomas Stocker & Patrick Sager Architektur des Servers 9 Patrick Sager & Thomas Stocker

10 MS OLAP Speichermechanismen -2
Multidimensionale Datenbanken MS OLAP Speichermechanismen -2 Aggregate alle Aggregate Bsp.: pro Dimension Wachstum von 2 (heuristisch [Pendse] 4 MB Datenbank 5 Dimensionen 4MB*2^5=128 MB Im MS DSS kann man Aggregate “auswählen“ anhand von technischen Kriterien wie z.B. MB für Aggregate Datum Jahr Monat Tag Februar 1998 / 20 Januar / 20 20 / 20 Kunde ABB / 20 UBS Name ALL /20 Schweiz / 20 Land Thomas Stocker & Patrick Sager Architektur des Servers 10 Patrick Sager & Thomas Stocker

11 Einschränkungen der Beta Version -1
Multidimensionale Datenbanken Einschränkungen der Beta Version -1 Pro Anfrage dürfen höchstens 2^31-1 Zellen als Antwort auftreten. Wie man sieht war die Anfrage zu gross für diese Tabelle und es gab kein Resultat zurück. Thomas Stocker & Patrick Sager Architektur des Servers 11 Patrick Sager & Thomas Stocker

12 Einschränkungen der Beta Version -2
Multidimensionale Datenbanken Einschränkungen der Beta Version -2 Materialisierung der Cubes OrderDate gescheitert wegen OLAP Manager Orderprice gescheitert wegen Oracle Server OLE DB Schnittstelle funktioniert nicht Schema muss “zyklenfrei“ sein Hier tritt ein Zyklus auf dies kann man verhindern wenn man die Tabelle rechts einfach mit Hilfe eines Views umbennt oder verdoppelt in der Datenbank. Thomas Stocker & Patrick Sager Architektur des Servers 12 Patrick Sager & Thomas Stocker

13 Multidimensionale Datenbanken
Design der Cubes Design unserer Cubes PartCube 2 dimensional Dimensionen: 210‘030 Datensätze Mass: 200‘000 Datensätze Orderprice 3 dimensional Dimensionen: 150‘030 Datensätze Mass: 1‘500‘000 Datensätze Umsatz 4 dimensional Dimensionen: 1‘860‘060 Datensätze Mass: 6‘000‘000 Datensätze Thomas Stocker & Patrick Sager Design unserer Cubes 13 Patrick Sager & Thomas Stocker

14 Multidimensionale Datenbanken
TPC-D Schema Thomas Stocker & Patrick Sager Design unserer Cubes 14 Patrick Sager & Thomas Stocker

15 Multidimensionale Datenbanken
TPC-D Frageanalyse Aggregate Group By Where (keine Keys und nur neues) Thomas Stocker & Patrick Sager Design unserer Cubes 15 Patrick Sager & Thomas Stocker

16 Multidimensionale Datenbanken
1. Cube: PartCube Part / 200K AVAILQTY 200K SUPPLYCOST VALUE=AVAILQTY*SUPPLYCOST Supplier / 10K Thomas Stocker & Patrick Sager Design unserer Cubes 16 Patrick Sager & Thomas Stocker

17 Multidimensionale Datenbanken
Beispiel Hier habe ich eine 2 dimensionale Darstellung eines Teiles des Cubes mit einem Measure Thomas Stocker & Patrick Sager Design unserer Cubes 17 Patrick Sager & Thomas Stocker

18 Multidimensionale Datenbanken
2. Cube: Orderprice Orderdate / 450K Customer / 150K Clerk / 450K TOTALPRICE K Thomas Stocker & Patrick Sager Design unserer Cubes 18 Patrick Sager & Thomas Stocker

19 Multidimensionale Datenbanken
3. Cube: Umsatz Shipdate / 1800K Part / 200K Seller / 10K Buyer / 150K QUANTITY K EXTENDEDPRICE DISCOUNT REVENUE=EXTENDEDPRICE*(1-DISCOUNT) Thomas Stocker & Patrick Sager Design unserer Cubes 19 Patrick Sager & Thomas Stocker

20 Verbesserungsvorschläge System -1
Multidimensionale Datenbanken Verbesserungsvorschläge System -1 Möglichkeit von Batchjobs Alle Cubes materialisieren Mehrere Cubes anwählen können Wizard‘s 60 min zum Designen einer Dimension Mit Editor 10 min. Shipdatedimension design > 1 Stunde. Das Temp Segment in Oracle müsste 1 GB gross gemacht werden um auch grosse Cubes erzeugen zu können. Oder so gross wie die Datenbank ist. (nicht realistisch). Bei 300 MB Fehler. Thomas Stocker & Patrick Sager Verbesserungsvorschläge 20 Patrick Sager & Thomas Stocker

21 Verbesserungsvorschläge System -2
Multidimensionale Datenbanken Verbesserungsvorschläge System -2 Wenn man mehrere Cubes materialisiert, kein Rollback über alle Cubes - falls Fehler. Intelligenterer Zugriff auf Rohdaten. nur Daten im Join verwenden, die gebraucht werden. Partcube materialisiert Checkpoint Orderprice materialisiert Umsatz Materialisierung fehlgeschlagen Rollback Thomas Stocker & Patrick Sager Verbesserungsvorschläge 21 Patrick Sager & Thomas Stocker

22 Verbesserungsvorschläge Benutzung -1
Multidimensionale Datenbanken Verbesserungsvorschläge Benutzung -1 Konsistenzprüfung am Ende des Designs anstatt nach jedem Schritt. Wizards in der Performance erhöhen. Bsp.: 60 min Design mit Wizard. 10 min Design mit Editor Zeitdimensionen schnelleres Design 1-4 Stunden bis man nur die Dimension definiert hat. Mit einem Index (in Oracle) auf das Zeit Attribut, wäre es auch schneller. Thomas Stocker & Patrick Sager Verbesserungsvorschläge 22 Patrick Sager & Thomas Stocker

23 Verbesserungsverschläge Benutzung -2
Multidimensionale Datenbanken Verbesserungsverschläge Benutzung -2 Sinnlose Buttons vermeiden Thomas Stocker & Patrick Sager Verbesserungsvorschläge 23 Patrick Sager & Thomas Stocker

24 Multidimensionale Datenbanken
Schlussfolgerungen Grenzen von Standard-SQL bei Aggregierung über mehrere Dimensionen. CUBE-Operator als n-dimensionale Erweiterung von GROUP BY und Aggregaten. ROLLUP-Operator als Linearisierung des CUBE-Operators. Beta Version des MS OLAP Managers noch nicht geeignet für grosse Datenmengen. Entkopplung von Design und Speicherung mit Hilfe des MS OLAP Managers. Einfache Benutzung der theoretischen Konzepte durch MS OLAP Manager Oberfläche. Beta Version des MS OLAP Managers noch nicht geignet für grosse Datenmengen. Man könnte auch den Versuchsaufbau kritisieren, man hatte zu kleines Temp Segment in Oracle es hätte 1 GB gross sein müssen. Thomas Stocker & Patrick Sager Schlussfolgerungen 24 Patrick Sager & Thomas Stocker

25 Multidimensionale Datenbanken
Beispiel -1 Drill down: Wenn man auf das Feld mit dem Pfeil doppelklickt und auch noch den Supplier ändert bekommt man folgendes Feld. Thomas Stocker & Patrick Sager Schlussfolgerungen 25 Patrick Sager & Thomas Stocker

26 Multidimensionale Datenbanken
Beispiel -2 Rollup geht genau gleich. 1 Folie auflegen. Thomas Stocker & Patrick Sager Schlussfolgerungen 26 Patrick Sager & Thomas Stocker

27 Literaturverzeichnis -1
Multidimensionale Datenbanken Literaturverzeichnis -1 Die Folien von Teil I basieren hauptsächlich auf dem Artikel von Jim Gray [Gray 96] Papers: [Gray 96]: Jim Gray et al.: Data Cube: A Relational Aggregation Operator Generalizing Group-by, Cross-Tab, and Sub-Totals. Proc. of the International Conference on Data Engineering, 1996 [Agrawal 97]: Rakesh Agrawal, Ashish Gupta, Sunita Sarawagi: Modeling Multidimensional Databases. Proc. of the International Conference on Data Engineering, 1997 [Cabibbo]:Luca Cabibbo, Ricardo Torlone: A Logical Approach to Multidimensional Databases. In Sixth International Conference on Extending Database Technology (EDBT-98). Reports: [Pendse]:Nigel Pendse: The OLAP Report - Database Explosion: Explosion.htm Thomas Stocker & Patrick Sager Literaturliste 27 Patrick Sager & Thomas Stocker

28 Literaturverzeichnis -2
Multidimensionale Datenbanken Literaturverzeichnis -2 Whitepapers: [WarStrat] Microsoft: Data Warehousing Strategy [DesServ] Microsoft: Microsoft SQL Server 7.0 Decision Support Services: Lowering the Cost of Business Intelligence Getting Started Exercises: [ExBas]: Microsoft Decision Support Services-Basic [ExAdv]: Microsoft Decision Support Services-Advanced Dokumentation: [Help]: Decision Support Services Documentation: [TPCD]:TPC-D Dokmentation: S.7, S Thomas Stocker & Patrick Sager Literaturliste 28 Patrick Sager & Thomas Stocker


Herunterladen ppt "Data Warehousing für TPC-D Daten"

Ähnliche Präsentationen


Google-Anzeigen