43
Seminar Data Seminar Data Warehousing Warehousing Thema: Thema: Partitionierung Partitionierung Seminarvortrag Seminarvortrag 10.06.2005 10.06.2005 Benjamin Dunst Benjamin Dunst

Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

Embed Size (px)

Citation preview

Page 1: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

Seminar Data Seminar Data WarehousingWarehousing

Thema: Thema: PartitionierungPartitionierungSeminarvortragSeminarvortrag

10.06.200510.06.2005

Benjamin DunstBenjamin Dunst

Page 2: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 2

GliederungGliederung

Einführung und MotivationEinführung und Motivation Grundlagen der PartitionierungGrundlagen der Partitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DWH UmfeldAnwendung im DWH Umfeld AusblickAusblick

Page 3: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 3

ÜbersichtÜbersicht

Einführung und MotivationEinführung und Motivation Grundlagen der PartitionierungGrundlagen der Partitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DWH UmfeldAnwendung im DWH Umfeld AusblickAusblick

Page 4: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 4

EinführungEinführung

Daten Partitionierung:Daten Partitionierung:- Ansatz ursprünglich aus verteilten DB- Ansatz ursprünglich aus verteilten DBBsp.: Logisch eine ProdukttabelleBsp.: Logisch eine Produkttabelle

- in HH produzierte Produkte (Produkttupel) liegen in HH- in HH produzierte Produkte (Produkttupel) liegen in HH (ProduktNr (ProduktNr 11xxxx)xxxx)- in K produzierte Produkte (Produkttupel) liegen in K- in K produzierte Produkte (Produkttupel) liegen in K (ProduktNr (ProduktNr 22xxxx)xxxx)

- Produkttabelle physisch partitioniert- Produkttabelle physisch partitioniert horizontalehorizontale Partitionierung nach Partitionierung nach ProduktNrProduktNr

Page 5: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 5

EinführungEinführung

- - vertikalevertikale Partitionierung (physisch) Partitionierung (physisch) - Zuordnung verschiedener Spalten zu - Zuordnung verschiedener Spalten zu

verschiedenen Lokationenverschiedenen Lokationen

Bsp.: Logisch eine ProdukttabelleBsp.: Logisch eine Produkttabelle

- Bildmaterial der Produkte liegt in M bei Marketing- - Bildmaterial der Produkte liegt in M bei Marketing- abteilungabteilung

- Verkaufspreise der Produkte liegen in der Kosten-- Verkaufspreise der Produkte liegen in der Kosten- rechnung in Brechnung in B

seit 2. Hälfte der `90er Einzug in seit 2. Hälfte der `90er Einzug in zentralisierte DBMSzentralisierte DBMS

Page 6: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 6

EinführungEinführung

Data Warehousing kann zu Datenbanken Data Warehousing kann zu Datenbanken in hohen Giga- oder Terabyte-Bereichen in hohen Giga- oder Terabyte-Bereichen führenführen

Es kommen immer mehr Daten hinzu, Es kommen immer mehr Daten hinzu, jedoch werden in der Regel keine jedoch werden in der Regel keine gelöschtgelöscht

Datenvolumen stellt DBen kaum vor Datenvolumen stellt DBen kaum vor ProblemeProbleme

Probleme verursachen Tabellen mit vielen Probleme verursachen Tabellen mit vielen Millionen oder sogar Milliarden TupelnMillionen oder sogar Milliarden Tupeln

Page 7: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 7

MotivationMotivation

Umgang mit großen RelationenUmgang mit großen Relationen Partitionierung bietet Partitionierung bietet

Optimierungspotenziale Optimierungspotenziale

Ziel der Partitionierungstechnik:Ziel der Partitionierungstechnik:

„ „Steigerung des Leistungsverhaltens von Anfragen im Zusammenhang mit der Datenpartitionierung“

Page 8: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 8

ÜbersichtÜbersicht

Einführung und MotivationEinführung und Motivation Grundlagen der Grundlagen der

PartitionierungPartitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DWH UmfeldAnwendung im DWH Umfeld AusblickAusblick

Page 9: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 9

Partitionierung - Partitionierung - GrundlagenGrundlagen

Partitionierungsidee: „Divide & Partitionierungsidee: „Divide & Conquer“Conquer“

Partitionen können unabhängig Partitionen können unabhängig voneinander verwaltet werdenvoneinander verwaltet werden

PerformanceverbesserungenPerformanceverbesserungen (befinden sich (befinden sich die in einer Abfrage benötigten Daten in die in einer Abfrage benötigten Daten in einer Partition, so muss nur auf diese einer Partition, so muss nur auf diese Partition zugegriffen werden)Partition zugegriffen werden)

Tabellen und Zugriffspfade können Tabellen und Zugriffspfade können partitioniert werdenpartitioniert werden

Page 10: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 10

Partitionierung - Partitionierung - GrundlagenGrundlagen

Definitionsansatz:Definitionsansatz:

Eine Partitionierung von Tabellen und Eine Partitionierung von Tabellen und

Zugriffspfaden ist eine injektive (eindeutige) Zugriffspfaden ist eine injektive (eindeutige)

Abbildung von Tupeln einer Tabelle bzw. Abbildung von Tupeln einer Tabelle bzw.

eines Zugriffspfades anhand werte-eines Zugriffspfades anhand werte-

abhängiger oder werteunabhängiger abhängiger oder werteunabhängiger

Kriterien, wobei jedes Tupel genau einer Kriterien, wobei jedes Tupel genau einer

Partition zugeordnet wird.Partition zugeordnet wird.

Page 11: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 11

Partitionierung - Partitionierung - GrundlagenGrundlagen

Zur Definition (1):Zur Definition (1): Eine Partitionierung von Tabellen und Eine Partitionierung von Tabellen und

Zugriffspfaden ist eine injektive Zugriffspfaden ist eine injektive (eindeutige) Abbildung von Tupeln (eindeutige) Abbildung von Tupeln einer Tabelle…einer Tabelle…ProduktNr ProduktName ProduktGruppe ProduktPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1003 Basketball 1 70,00 1003.bmp

1004 Volleyball 1 21,99 1004.bmp

1005 Tennisball 1 2,33 1005.bmp

: : : : :

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmp

2005 Schuh X6 11 269,00 2005.bmp

Partition 1

Partition 2

Page 12: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 12

Partitionierung - Partitionierung - GrundlagenGrundlagen

Zur Definition (2):Zur Definition (2):

… … von Tupeln einer Tabelle bzw. eines von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand Zugriffspfades anhand wertewerteabhängigerabhängiger Kriterien…Kriterien…

- Berechnung der Partition eines Datensatzes - Berechnung der Partition eines Datensatzes

durch eine Funktion anhand der durch eine Funktion anhand der AttributwerteAttributwerte

- Partitionierungsarten:- Partitionierungsarten:

z.B. Range-, Hash-Partitionierung z.B. Range-, Hash-Partitionierung

Page 13: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 13

Partitionierung - Partitionierung - GrundlagenGrundlagen

Zur Definition (3):Zur Definition (3):

… … von Tupeln einer Tabelle bzw. eines von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand Zugriffspfades anhand wertewerteunabhängigerunabhängiger Kriterien.Kriterien.

- DBMS hat keine Info`s, in welcher Partition - DBMS hat keine Info`s, in welcher Partition

sich Datensatz X befindetsich Datensatz X befindet

- Partitionierungsarten:- Partitionierungsarten:

z.B. Random-, Round-Robin-Partitionierung z.B. Random-, Round-Robin-Partitionierung

Page 14: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 14

ÜbersichtÜbersicht

Einführung und MotivationEinführung und Motivation Grundlagen der PartitionierungGrundlagen der Partitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DHW UmfeldAnwendung im DHW Umfeld AusblickAusblick

Page 15: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 15

TabellenpartitionierungTabellenpartitionierung

Horizontale PartitionierungHorizontale Partitionierung

- Relation wird zeilenweise in - Relation wird zeilenweise in disjunkte disjunkte

Teilmengen partitioniertTeilmengen partitioniert

- Tupel als Ganzes wird nicht - Tupel als Ganzes wird nicht zerlegt (wie bei zerlegt (wie bei

vertikaler Partitionierung)vertikaler Partitionierung)

Page 16: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 16

TabellenpartitionierungTabellenpartitionierung

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1003 Basketball 1 70,00 1003.bmp

1004 Volleyball 1 21,99 1004.bmp

1005 Tennisball 1 2,33 1005.bmp

: : : : :

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmp

2005 Schuh X6 11 269,00 2005.bmp

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1003 Basketball 1 70,00 1003.bmp

1004 Volleyball 1 21,99 1004.bmp

1005 Tennisball 1 2,33 1005.bmp

: : : : :

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmp

2005 Schuh X6 11 269,00 2005.bmp

Selektionsprädikat (Partitionierungsprädikat)

Horizontale Partitionierung

Page 17: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 17

TabellenpartitionierungTabellenpartitionierung

Vertikale PartitionierungVertikale Partitionierung

- Häufig zur Abspaltung der LOBs verwandt- Häufig zur Abspaltung der LOBs verwandt

- Aufteilung der Relation in eine oder - Aufteilung der Relation in eine oder mehrere mehrere

Spalten Spalten

- Bis auf den Schlüssel disjunkt - Bis auf den Schlüssel disjunkt partitioniertpartitioniert

- Für die Rekonstruktion notwendig- Für die Rekonstruktion notwendig

Page 18: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 18

TabellenpartitionierungTabellenpartitionierung

ProduktNr ProduktName ProdGruppe ProduktPreis

1001 Fussball X16 2 30,05

1002 Fussball X17 2 59,95

1005 Tennisball 1 2,33

: : : :

2001 Nike Shirt T65 3 65,00

2002 Adidas Cap Nr1 7 20,50

2003 PowerBar Riegel 15 2,00

2004 Schuh X1 11 149,99

ProduktNr ProduktBild

1001 1001.bmp

1002 1002.bmp

1005 1005.bmp

: :

2001 2001.bmp

2002 2002.bmp

2003 2003.bmp

2004 2004.bmp

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1005 Tennisball 1 2,33 1005.bmp

: : : : :

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmp

Vertikale Partitionierung

Page 19: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 19

TabellenpartitionierungTabellenpartitionierung

Partitionierungsdimensionen:Partitionierungsdimensionen:

- Eindimensionale Partitionierungsfunktion- Eindimensionale Partitionierungsfunktion

 B

6

P1 P2 P3 A

5

4

3

2

1

  1 2 3 4 5 6 7 8 9  

}1|{)(: mjPBdomf jp

}31|{)(: jPBdomf jp

Page 20: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 20

TabellenpartitionierungTabellenpartitionierung

- Mehrdimensionale - Mehrdimensionale PartitionierungsfunktionPartitionierungsfunktion }1|{)(...)(: 1 mjPAdomAdomf jnp

 B

6

P4 P5 P6

A

5

4

3

P1 P2 P32

1

  1 2 3 4 5 6 7 8 9  

 B

6

P4

A

5

4

3

P1 P2 P32

1

  1 2 3 4 5 6 7 8 9  

Variante 1 Variante 2

}61|{)()(: jPBdomAdomf jp }41|{)()(: jPBdomAdomf jp

Page 21: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 21

Tabellenpartitionierung - Tabellenpartitionierung - Arten Arten

Bereichs-Partitionierung (Range-Partitioning)Bereichs-Partitionierung (Range-Partitioning)

- Wertebereiche der ausgewählten - Wertebereiche der ausgewählten Attribute wird Attribute wird

in disjunkte Intervalle zerlegtin disjunkte Intervalle zerlegt

- Partitionierungsfunktion aufstellen- Partitionierungsfunktion aufstellen

- Datensätze werden mittels - Datensätze werden mittels Partitionierungs-Partitionierungs-

funktion den Partitionen zugeteilt funktion den Partitionen zugeteilt

Page 22: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 22

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

ProduktNr ProduktName ProdGruppe ProduktPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1003 Basketball 1 70,00 1003.bmp

1004 Volleyball 1 21,99 1004.bmp

: : : : :

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmp

2005 Schuh X6 11 269,00 2005.bmp

: : : : :

3001 Fit.riegel Q10 15 2,15 3001.bmp

3002 Fit.riegel Q12 15 3,50 3002.bmp

Ausgangstabelle:Selektionsprädikat

P1

P2

P3

sonstP

oduktNrfallsP

oduktNrfallsP

oduktNrfallsP

oduktNrf p

4

3

2

1

3999Pr3000

2999Pr2000

1999Pr1000

)(Pr

Page 23: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 23

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Hash-PartitionierungHash-Partitionierung- Datensätze werden mit einer Hash-Funktion - Datensätze werden mit einer Hash-Funktion

verteiltverteilt

- DBMS errechnet beim - DBMS errechnet beim INSERTINSERT Partitions- Partitions-

nummer als Hashwert aus Attributwertennummer als Hashwert aus Attributwerten

- Breite Streuung der Datensätze auf - Breite Streuung der Datensätze auf PartitionenPartitionen

- Vorteil: Keine parallele Suche notwendig, da - Vorteil: Keine parallele Suche notwendig, da die die

Partition wiederholt berechnet werden kannPartition wiederholt berechnet werden kann

Page 24: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 24

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Beispiel Beispiel Hashfunktion:Hashfunktion:

Zwei Partitionen:Zwei Partitionen:h(k)= k mod 2h(k)= k mod 2

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1002 Fussball X17 2 59,95 1002.bmp

1005 Tennisball 1 2,33 1005.bmp

2001 Nike Shirt T65 3 65,00 2001.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

2004 Schuh X1 11 149,99 2004.bmpProdNr ProduktName ProdGr. ProdPreis ProduktBild

1001 Fussball X16 2 30,05 1001.bmp

1005 Tennisball 1 2,33 1005.bmp

2001 Nike Shirt T65 3 65,00 2001.bmp

2003 PowerBar Riegel 15 2,00 2003.bmp

ProdNr ProduktName ProdGr. ProdPreis ProduktBild

1002 Fussball X17 2 59,95 1002.bmp

2002 Adidas Cap Nr1 7 20,50 2002.bmp

2004 Schuh X1 11 149,99 2004.bmp

1)ProduktNr(

0)ProduktNr()ProduktNr(

2

1

hfallsP

hfallsPf p

Partition 1 ( h(ProduktNr) = 0 ):

Partition 2 ( h(ProduktNr) = 1 ):

h(2004) = 2004 h(2004) = 2004 mod 2 = 0mod 2 = 0h(2003) = 2003 h(2003) = 2003 mod 2 = 1mod 2 = 1h(2002) = 2002 h(2002) = 2002 mod 2 = 0mod 2 = 0h(2001) = 2001 h(2001) = 2001 mod 2 = 1mod 2 = 1h(1005) = 1005 h(1005) = 1005 mod 2 = 1mod 2 = 1h(1002) = 1002 h(1002) = 1002 mod 2 = 0mod 2 = 0h(1001) = 1001 h(1001) = 1001 mod 2 = 1mod 2 = 1

Page 25: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 25

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Composite - Partitionierung Composite - Partitionierung

Kombination z.B. aus Range- & Hash-Kombination z.B. aus Range- & Hash-PartitionierungPartitionierung

1.1. Range-Partitionierung durchführenRange-Partitionierung durchführen

2.2. Subpartition mittels Hash-FunktionSubpartition mittels Hash-Funktion

Page 26: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 26

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

List – PartitionierungList – Partitionierung

- Administrator bestimmt diskrete Werteliste- Administrator bestimmt diskrete Werteliste- anhand dieser Liste werden Tupel den - anhand dieser Liste werden Tupel den Partitionen zugeteilt Partitionen zugeteilt - Vorteil: Inhaltlich nicht zusammenhängende - Vorteil: Inhaltlich nicht zusammenhängende Werte können in einer Partition zusammen- Werte können in einer Partition zusammen- gefasst werden (sonst Range-Partitionierung)gefasst werden (sonst Range-Partitionierung)- Administrator für gleichmäßige Verteilung - Administrator für gleichmäßige Verteilung verant-verant- wortlichwortlich

Page 27: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 27

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Random – PartitionierungRandom – Partitionierung

- DBMS verteilt Tupel beim - DBMS verteilt Tupel beim INSERTINSERT zufällig zufällig auf Partitionenauf Partitionen- führt zu einer weitgehend gleichmäßigen - führt zu einer weitgehend gleichmäßigen BelegungBelegung- Vorteil: Partitionen können gleichzeitig - Vorteil: Partitionen können gleichzeitig durchsucht werden durchsucht werden - Nachteil: nicht bekannt, wo Tupel - Nachteil: nicht bekannt, wo Tupel abgelegt wurdenabgelegt wurden

Page 28: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 28

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Round Robin – PartitionierungRound Robin – Partitionierung

- DBMS füllt beim - DBMS füllt beim INSERTINSERT die Partitionen die Partitionen ‚ ‚reihum‘ aufreihum‘ auf- gleichmäßige Partitionsbelegung- gleichmäßige Partitionsbelegung- Vorteil: gleichzeitiges Durchsuchen - Vorteil: gleichzeitiges Durchsuchen möglichmöglich- Nachteil: nicht bekannt, wo Tupel - Nachteil: nicht bekannt, wo Tupel abgelegt abgelegt wurde (ganze Tabelle durchsuchen)wurde (ganze Tabelle durchsuchen)

Page 29: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 29

Tabellenpartitionierung - Tabellenpartitionierung - ArtenArten

Übersicht:Übersicht:

ParititionieruParititionierungs-ngs-

verfahrenverfahrenRangeRange HashHash ComposCompos

iteite ListList RandomRandom Round Round RobinRobin

wertebasiertwertebasiert xx xx xx xx

nicht nicht wertebasiertwertebasiert xx xx

Page 30: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 30

ÜbersichtÜbersicht

Einführung und MotivationEinführung und Motivation Grundlagen der PartitionierungGrundlagen der Partitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DWH UmfeldAnwendung im DWH Umfeld AusblickAusblick

Page 31: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 31

Anwendung DWHAnwendung DWH

Data Warehouse AnsatzData Warehouse Ansatz

- - Multidimensionaler DatenraumMultidimensionaler Datenraum

- Realisierung meist durch RDBMS- Realisierung meist durch RDBMS

- Multidimensionale Zusammenhänge werden - Multidimensionale Zusammenhänge werden mittelsmittels

relationalem Sternschema umgesetztrelationalem Sternschema umgesetzt Multidimensionales DatenmodellMultidimensionales Datenmodell

- - Unterteilung der Daten in Fakten & DimensionenUnterteilung der Daten in Fakten & Dimensionen

Page 32: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 32

Anwendung DWHAnwendung DWH

Beispiel Beispiel SternschemaSternschema

KUNDENKUNDEN

KDNRKDNR

NachnameNachname

VornameVorname

AdresseAdresse

PLZPLZ

OrtOrt

GebietGebiet

VERKÄUFEVERKÄUFE

RECHNRRECHNR

KDNRKDNR

ZEITNRZEITNR

PRODNRPRODNR

MengeMenge

PreisPreis

ZEITENZEITEN

ZEITNRZEITNR

TagTag

MonatMonat

JahrJahr

WochentagWochentag

KalenderwocheKalenderwoche

QuartalQuartal

PRODUKTEPRODUKTE

PRODNRPRODNR

ProdNameProdName

ProdGruppeProdGruppe

PreisEKPreisEK

PreisVKPreisVKFaktentabelle

Dimsionstabellen

Page 33: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 33

Anwendung DWHAnwendung DWHVERKÄUFE:VERKÄUFE:

RECHNRRECHNR KDNRKDNR ZEITNRZEITNR PRODNRPRODNR MengeMenge PreisPreis

11 10211021 8585 14551455 1010 5050

10051005 10001000 8686 14551455 1313 5050

50745074 10001000 9595 14551455 3131 5050

50845084 10211021 9595 20002000 5555 100100

50865086 10001000 120120 14551455 5454 5050

51895189 10001000 121121 20002000 4545 100100

901000

901000

9010000

9010000

),(

4

3

2

1

ZEITNRundKDNRfallsP

ZEITNRundKDNRfallsP

ZEITNRundKDNRfallsP

ZEITNRundKDNRfallsP

ZEITNRKDNRf p

Mögliche Anfrage:

Wieviel Umsatz haben die Kunden im Bereich Logistikim 2. Quartal erbracht?

Bereich Logistik: KdNr bis 1000 2. Quartal: ZeitNr ab 91

1

5189

5086

5084

5074

1005

1

51895086

5084

5074

1005

Page 34: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 34

Anwendung DWHAnwendung DWH

 ....9190..0 

1

:P2P1

1000

1001

:

KDNR

P4P3

:

ZEITNR 

1

51895086

5084

50741005

Mögliche Anfrage:

Wieviel Umsatz haben die Kunden im Bereich Logistik im 2. Quartal erbracht? (Bereich Logistik: KdNr bis 1000 ; 2. Quartal: ZeitNr ab 91)

Page 35: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 35

Anwendung DWHAnwendung DWH

Partitionierung bietet Partitionierung bietet OptimierungspotenzialeOptimierungspotenziale

Bereiche:Bereiche:

- Verwaltung sehr großer Relationen- Verwaltung sehr großer Relationen

- Überspringen von Partitionen bei der - Überspringen von Partitionen bei der

Anfrageauswertung Anfrageauswertung

- Ausnutzung paralleler Datenbank- & - Ausnutzung paralleler Datenbank- &

SystemarchitekturenSystemarchitekturen

Page 36: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 36

Anwendung DWHAnwendung DWH

Verwaltung sehr großer RelationenVerwaltung sehr großer Relationen

- klassische Einfüge- & Löschoperationen - klassische Einfüge- & Löschoperationen für für

große Teile einer Datenbasis auf einzelner große Teile einer Datenbasis auf einzelner

Tabelle ineffizientTabelle ineffizient

- Vorteil der Partitionierung:- Vorteil der Partitionierung:

Einfaches Hinzufügen oder Löschen Einfaches Hinzufügen oder Löschen mittels mittels

DDL AnweisungDDL Anweisung

Page 37: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 37

Anwendung DWHAnwendung DWH Überspringen von Partitionen bei Überspringen von Partitionen bei

Anfrageauswertung (partition pruning)Anfrageauswertung (partition pruning)

- Voraussetzung: Anfrage weist Restriktion - Voraussetzung: Anfrage weist Restriktion auf, auf, die über Partitionierungskriterium die über Partitionierungskriterium definiert istdefiniert ist- nur betroffene Relationen müssen zur - nur betroffene Relationen müssen zur Beantwortung herangezogen werdenBeantwortung herangezogen werden- wesentlicher leistungssteigernder Ansatz - wesentlicher leistungssteigernder Ansatz bei bei

der Ausführung von Warehouse-Anfragender Ausführung von Warehouse-Anfragen

Page 38: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 38

Anwendung DWHAnwendung DWH Ausnutzung paralleler Datenbank- & Ausnutzung paralleler Datenbank- &

SystemarchitekturenSystemarchitekturen- Aufteilen großer Datenbestände in - Aufteilen großer Datenbestände in kleinere kleinere Partitionen ermöglicht systemtechnische Partitionen ermöglicht systemtechnische OptimierungOptimierung- einzelne Partitionen auf unterschiedliche - einzelne Partitionen auf unterschiedliche Festplatten verteilen, um parallel Festplatten verteilen, um parallel zugreifen zu zugreifen zu könnenkönnen

Page 39: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 39

AnwendungenAnwendungen

DBSDBSADABASADABAS

(Tool Adabas (Tool Adabas Vista)Vista)

Informix Informix Dynamic Dynamic Server Server

(Enterpreise (Enterpreise and and

Workgroup Workgroup Edition 10.00)Edition 10.00)

Oracle 10gOracle 10g Sybase IQSybase IQ

Part.-Part.-artenarten RangeRange

Round Robin,Round Robin,

ExpressionExpression

(benutzerdefini(benutzerdefinierte erte

Verteilungs-Verteilungs-funktion, z.B. funktion, z.B. Range, Hash)Range, Hash)

Range,Range,

Hash,Hash,

List,List,

Composite Composite Range-Hash,Range-Hash,

Composite Composite Range-ListRange-List

Round Round Robin,Robin,

Hash, RangeHash, Range

Page 40: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 40

Anwendung: OracleAnwendung: Oracle

Beispiel: Range-PartitionierungBeispiel: Range-PartitionierungCREATE TABLE Produkte

( prodnr NUMBER(4) NOT NULL,

prodname VARCHAR2(100),

prodgruppe NUMBER(10),

CONSTRAINT pkprodukte PRIMARY KEY (prodnr))

STORAGE (INITIAL 900M NEXT 900M) PCTFREE 0

PARTITION BY RANGE (prodnr)

( PARTITION prod1 VALUES LESS THAN (2000) TABLESPACE ts1

PARTITION prod2 VALUES LESS THAN (3000) TABLESPACE ts2

PARTITION prod3 VALUES LESS THAN (4000) TABLESPACE ts3 );

Page 41: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 41

Anwendung: DB2Anwendung: DB2

Beispiel: Hash-PartitionierungBeispiel: Hash-Partitionierung

CREATE TABLE Produkte

( prodnr int primary key,

...

) partitioning key (prodnr) using hash

Page 42: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 42

ÜbersichtÜbersicht

Einführung und MotivationEinführung und Motivation Grundlagen der PartitionierungGrundlagen der Partitionierung TabellenpartitionierungTabellenpartitionierung Anwendung im DWH UmfeldAnwendung im DWH Umfeld AusblickAusblick

Page 43: Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst

10.06.2005 43

AusblickAusblick

Optimierungspotenzial vorhandenOptimierungspotenzial vorhanden

Unterschiede zwischen den Unterschiede zwischen den HerstellernHerstellern

weitere Anwendung z.B. in der weitere Anwendung z.B. in der ArchivierungArchivierung