Seminar Data Seminar Data WarehousingWarehousing
Thema: Thema: PartitionierungPartitionierungSeminarvortragSeminarvortrag
10.06.200510.06.2005
Benjamin DunstBenjamin 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
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
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
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
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
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“
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
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
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.
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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
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 );
10.06.2005 41
Anwendung: DB2Anwendung: DB2
Beispiel: Hash-PartitionierungBeispiel: Hash-Partitionierung
CREATE TABLE Produkte
( prodnr int primary key,
...
) partitioning key (prodnr) using hash
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
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