Data Warehousing für TPC

Werbung
Data Warehousing für TPC-D Daten
Teil II:Modellierung und Erstellung
eines Data Cubes mit
MS OLAP Manager
für TPC-D Daten
Thomas Stocker & Patrick Sager
Data Warehousing für TPC-D Daten 1
Aufgabenstellung
Erzeugen eines Datawarehouse mit TPC-D Daten
MS OLAP
Manager
OLE DB
Oracle
MS-DSS
ODBC
Wrapper
Relational
Database
Server
Cube
TPC-D Daten
Thomas Stocker & Patrick Sager
Aufgabe 2
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
SF=Scalefactor: 1-> 1 GB Daten
Thomas Stocker & Patrick Sager
Aufgabe 3
Warum TPC-D ?
TPC-D
Business Analysis
Business Operations
TPC-A
TPC-B
Thomas Stocker & Patrick Sager
TPC-C
SQL Aggregate in Standard Benchmarks
Benchmark Queries Aggregate GROUP BYs
TPC-A, B
1
0
0
TPC-C
18
4
0
TPC-D
16
27
15
Wisconsin
18
3
2
23
20
2
AS3AP
SetQuery
7
5
1
Aufgabe 4
Bezeichnungen
 Dimensionsarten
 Zeitdimension
 Hierarchische Dimension
 Mass
Datum
Jahr
1998
/ 670
Monat
Tag
Februar
/ 550
2.2.1998 / 250
Januar
/ 120
2.1.1998 / 100
1.2.1998 / 300
1.1.1998 / 20
ALL / 670
Thomas Stocker & Patrick Sager
50
300
200
100
20
ABB / 370
UBS / 300
Schweiz / 670
Kunde
Name
Land
Begriffe 5
Schemas
 Star-Schema
 Snowflake-Schema
Thomas Stocker & Patrick Sager
Begriffe 6
Server-Architektur
Thomas Stocker & Patrick Sager
Architektur des Servers 7
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
 Dimensionen: In relationalen Tabellen gespeichert.
 Aggregate: In multidimensionaler Datenstruktur gespeichert.
 Gute Performance, gute Skalierbarkeit
Thomas Stocker & Patrick Sager
Architektur des Servers 8
MS OLAP Speichermechanismen -1
 Zellenspeicherung
 alle Zellen
 Bsp.: 12.5 % der Zellen besetzt - 8 mal mehr
Speicherplatzverbrauch.
Datum
Jahr
1998
Monat
Februar
Januar
Tag
2.2.1998
1.2.1998
2.1.1998
1.1.1998
20
UBS
ABB
Schweiz
Kunde
Name
Land
 MS DSS speichert nur Zellen mit Werten
Thomas Stocker & Patrick Sager
Architektur des Servers 9
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
Datum
Jahr
1998 / 20
Monat
Februar
Tag
2.2.1998
1.2.1998
Januar / 20 2.1.1998
1.1.1998 / 20
ALL /20
20
ABB / 20
UBS
Schweiz / 20
Kunde
Name
Land
 Im MS DSS kann man Aggregate “auswählen“ anhand von
technischen Kriterien wie z.B. MB für Aggregate
Thomas Stocker & Patrick Sager
Architektur des Servers 10
Einschränkungen der Beta Version -1
Pro Anfrage dürfen höchstens 2^31-1 Zellen als Antwort
auftreten.
Thomas Stocker & Patrick Sager
Architektur des Servers 11
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
Thomas Stocker & Patrick Sager
Architektur des Servers 12
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
TPC-D Schema
PART
PARTKEY
NAME
MFGR
BRAND
TYPE
SIZE
CONTAINER
RETAILPRICE
COMMENT
PARTSUPP
PARTKEY
SUPPKEY
AVAILQTY
SUPPLYCOST
COMMENT
SUPPLIER
SUPPKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
COMMENT
Thomas Stocker & Patrick Sager
LINEITEM
ORDERKEY
PARTKEY
SUPPKEY
LINENUMBER
QUANTITY
EXTENDEDPRICE
DISCOUNT
TAX
RETURNFLAG
LINESTATUS
SHIPDATE
COMMITDATE
RECEIPTDATE
SHIPINSTRUCT
SHIPMODE
COMMENT
ORDER
ORDERKEY
CUSTKEY
ORDERSTATUS
TOTALPRICE
ORDERDATE
ORDERPRIORITY
CLERK
SHIPPRIORITY
COMMENT
NATION
NATIONKEY
NAME
REGIONKEY
COMMENT
CUSTOMER
CUSTKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
MKTSEGMENT
COMMENT
REGION
REGIONKEY
NAME
COMMENT
Design unserer Cubes 14
TPC-D Frageanalyse
PART
PARTKEY
NAME
MFGR
BRAND
TYPE
SIZE
CONTAINER
RETAILPRICE
COMMENT
SUPPLIER
SUPPKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
COMMENT
PARTSUPP
PARTKEY
SUPPKEY
AVAILQTY
SUPPLYCOST
COMMENT
LINEITEM
ORDERKEY
PARTKEY
SUPPKEY
LINENUMBER
QUANTITY
EXTENDEDPRICE
DISCOUNT
TAX
RETURNFLAG
LINESTATUS
SHIPDATE
COMMITDATE
RECEIPTDATE
SHIPINSTRUCT
SHIPMODE
COMMENT
ORDER
ORDERKEY
CUSTKEY
ORDERSTATUS
TOTALPRICE
ORDERDATE
ORDERPRIORITY
CLERK
SHIPPRIORITY
COMMENT
NATION
NATIONKEY
NAME
REGIONKEY
COMMENT
Aggregate
Group By
Where (keine Keys und nur neues)
Thomas Stocker & Patrick Sager
CUSTOMER
CUSTKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
MKTSEGMENT
COMMENT
REGION
REGIONKEY
NAME
COMMENT
Design unserer Cubes 15
1. Cube: PartCube
SUPPLIER
SUPPKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
COMMENT
NATION
NATIONKEY
NAME
REGIONKEY
COMMENT
PARTSUPP
PARTKEY
SUPPKEY
AVAILQTY
SUPPLYCOST
COMMENT
REGION
REGIONKEY
NAME
COMMENT
PART
PARTKEY
NAME
MFGR
BRAND
TYPE
SIZE
CONTAINER
RETAILPRICE
COMMENT
Part / 200K
AVAILQTY
200K
SUPPLYCOST
VALUE=AVAILQTY*SUPPLYCOST
Supplier / 10K
Thomas Stocker & Patrick Sager
Design unserer Cubes 16
Beispiel
Thomas Stocker & Patrick Sager
Design unserer Cubes 17
2. Cube: Orderprice
ORDER
ORDERKEY
CUSTKEY
ORDERSTATUS
TOTALPRICE
ORDERDATE
ORDERPRIORITY
CLERK
SHIPPRIORITY
COMMENT
CUSTOMER
CUSTKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
MKTSEGMENT
COMMENT
NATION
NATIONKEY
NAME
REGIONKEY
COMMENT
REGION
REGIONKEY
NAME
COMMENT
Orderdate / 450K
Customer / 150K
Clerk / 450K
TOTALPRICE
Thomas Stocker & Patrick Sager
1500K
Design unserer Cubes 18
3. Cube: Umsatz
PART
PARTKEY
NAME
MFGR
BRAND
TYPE
SIZE
CONTAINER
RETAILPRICE
COMMENT
LINEITEM
ORDERKEY
PARTKEY
SUPPKEY
LINENUMBER
QUANTITY
EXTENDEDPRICE
DISCOUNT
TAX
RETURNFLAG
LINESTATUS
SHIPDATE
COMMITDATE
RECEIPTDATE
SHIPINSTRUCT
SHIPMODE
COMMENT
ORDER
ORDERKEY
CUSTKEY
ORDERSTATUS
TOTALPRICE
ORDERDATE
ORDERPRIORITY
CLERK
SHIPPRIORITY
COMMENT
Thomas Stocker & Patrick Sager
SUPPLIER
SUPPKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
COMMENT
CUSTOMER
CUSTKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBALL
MKTSEGMENT
COMMENT
Seller / 10K
NATION
NATIONKEY
NAME
REGIONKEY
COMMENT
REGION
REGIONKEY
NAME
COMMENT
Shipdate / 1800K
Part / 200K
Buyer / 150K
QUANTITY
6000K
EXTENDEDPRICE
DISCOUNT
REVENUE=EXTENDEDPRICE*(1-DISCOUNT)
Design unserer Cubes 19
Verbesserungsvorschläge System -1
Möglichkeit von Batchjobs
Alle Cubes materialisieren
Mehrere Cubes
anwählen können
Thomas Stocker & Patrick Sager
Verbesserungsvorschläge 20
Verbesserungsvorschläge System -2
 Wenn man mehrere Cubes materialisiert, kein
Rollback über alle Cubes - falls Fehler.
Partcube materialisiert
Checkpoint
Orderprice materialisiert
Checkpoint
Umsatz Materialisierung fehlgeschlagen
Rollback
 Intelligenterer Zugriff auf Rohdaten.
 nur Daten im Join verwenden, die gebraucht werden.
Thomas Stocker & Patrick Sager
Verbesserungsvorschläge 21
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
Verbesserungsverschläge Benutzung -2
Sinnlose Buttons vermeiden
Thomas Stocker & Patrick Sager
Verbesserungsvorschläge 23
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.
Thomas Stocker & Patrick Sager
Schlussfolgerungen 24
Beispiel -1
Thomas Stocker & Patrick Sager
Schlussfolgerungen 25
Beispiel -2
Thomas Stocker & Patrick Sager
Schlussfolgerungen 26
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 SubTotals.
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:
http://www.olareport.com/Database Explosion.htm
Thomas Stocker & Patrick Sager
Literaturliste 27
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
http://www.microsoft.com/sql/beta/featexercises.asp?A=4
[ExAdv]: Microsoft Decision Support Services-Advanced
http://www.microsoft.com/sql/beta/featexercises.asp?A=4
Dokumentation:
[Help]: Decision Support Services Documentation:
[TPCD]:TPC-D Dokmentation: S.7, S.23-56.
http://www.tpc.org
Thomas Stocker & Patrick Sager
Literaturliste 28
Herunterladen