Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Stephan Ankney Geändert vor über 10 Jahren
1
Seminar Data Warehousing Thema: Partitionierung
Seminarvortrag Benjamin Dunst
2
Gliederung Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick
3
Übersicht Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick
4
Einführung Daten Partitionierung:
- Ansatz ursprünglich aus verteilten DB Bsp.: Logisch eine Produkttabelle - in HH produzierte Produkte (Produkttupel) liegen in HH (ProduktNr 1xxxx) - in K produzierte Produkte (Produkttupel) liegen in K (ProduktNr 2xxxx) - Produkttabelle physisch partitioniert horizontale Partitionierung nach ProduktNr
5
Einführung - vertikale Partitionierung (physisch)
- Zuordnung verschiedener Spalten zu verschiedenen Lokationen Bsp.: Logisch eine Produkttabelle - Bildmaterial der Produkte liegt in M bei Marketing- abteilung - Verkaufspreise der Produkte liegen in der Kosten- rechnung in B seit 2. Hälfte der `90er Einzug in zentralisierte DBMS
6
Einführung Data Warehousing kann zu Datenbanken in hohen Giga- oder Terabyte-Bereichen führen Es kommen immer mehr Daten hinzu, jedoch werden in der Regel keine gelöscht Datenvolumen stellt DBen kaum vor Probleme Probleme verursachen Tabellen mit vielen Millionen oder sogar Milliarden Tupeln Die Datenmanipulation im OLTP-Betrieb (Online Transaction Processing), aber auch eine klassische Datensicherung (Offline-Backup) oder die Reorganisation derartig großer Tabellen begrenzen zum einen die Leistung des gesamten Systems, zum anderen kann dadurch die Verfügbarkeit der Daten wesentlich eingeschränkt werden. Aufgrund der Forderung nach hoher Verfügbarkeit der Daten (z.B. global tätige Unt mit einem DHW) sind Online Backups oder eine Online- Reorganisation ansatzweise mögliche Lösungen der Probleme Daten müssen aus betriebswirtschaftlichen und/oder rechtlichen Gründen erhalten bleiben l
7
Motivation Umgang mit großen Relationen
Partitionierung bietet Optimierungspotenziale Ziel der Partitionierungstechnik: „Steigerung des Leistungsverhaltens von Anfragen im Zusammenhang mit der Datenpartitionierung“ Leistungsanforderungen: Verfügbarkeitsanforderungen:
8
Übersicht Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick
9
Partitionierung - Grundlagen
Partitionierungsidee: „Divide & Conquer“ Partitionen können unabhängig voneinander verwaltet werden Performanceverbesserungen (befinden sich die in einer Abfrage benötigten Daten in einer Partition, so muss nur auf diese Partition zugegriffen werden) Tabellen und Zugriffspfade können partitioniert werden
10
Partitionierung - Grundlagen
Definitionsansatz: Eine Partitionierung von Tabellen und Zugriffspfaden ist eine injektive (eindeutige) Abbildung von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werte-abhängiger oder werteunabhängiger Kriterien, wobei jedes Tupel genau einer Partition zugeordnet wird.
11
Partitionierung - Grundlagen
Zur Definition (1): Eine Partitionierung von Tabellen und Zugriffspfaden ist eine injektive (eindeutige) Abbildung von Tupeln einer Tabelle… Partition 1 ProduktNr ProduktName ProduktGruppe ProduktPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 59,95 1002.bmp 1003 Basketball 1 70,00 1003.bmp 1004 Volleyball 21,99 1004.bmp 1005 Tennisball 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 269,00 2005.bmp Ein Tupel aus der Ausgangstabelle wird genau einer Partition zugewiesen Partition 2
12
Partitionierung - Grundlagen
Zur Definition (2): … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteabhängiger Kriterien… - Berechnung der Partition eines Datensatzes durch eine Funktion anhand der Attributwerte - Partitionierungsarten: z.B. Range-, Hash-Partitionierung Vorteil: DBMS kann jederzeit die Partition in der ein Datensatz untergebracht ist berechnen Partitionierungsarten werden später vorgestellt
13
Partitionierung - Grundlagen
Zur Definition (3): … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteunabhängiger Kriterien. - DBMS hat keine Info`s, in welcher Partition sich Datensatz X befindet - Partitionierungsarten: z.B. Random-, Round-Robin-Partitionierung
14
Übersicht Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DHW Umfeld Ausblick
15
Tabellenpartitionierung
Horizontale Partitionierung - Relation wird zeilenweise in disjunkte Teilmengen partitioniert - Tupel als Ganzes wird nicht zerlegt (wie bei vertikaler Partitionierung)
16
Tabellenpartitionierung
Selektionsprädikat (Partitionierungsprädikat) ProdNr ProduktName ProdGr. ProdPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 59,95 1002.bmp 1003 Basketball 1 70,00 1003.bmp 1004 Volleyball 21,99 1004.bmp 1005 Tennisball 2,33 1005.bmp : ProdNr ProduktName ProdGr. ProdPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 59,95 1002.bmp 1003 Basketball 1 70,00 1003.bmp 1004 Volleyball 21,99 1004.bmp 1005 Tennisball 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 269,00 2005.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 269,00 2005.bmp Horizontale Partitionierung
17
Tabellenpartitionierung
Vertikale Partitionierung - Häufig zur Abspaltung der LOBs verwandt - Aufteilung der Relation in eine oder mehrere Spalten - Bis auf den Schlüssel disjunkt partitioniert - Für die Rekonstruktion notwendig Forderung nach Disjuktheit bezieht sich nur auf die Attribute, die nicht zum Schlüssel gehören
18
Tabellenpartitionierung
ProdNr ProduktName ProdGr. ProdPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 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 ProduktNr ProduktName ProdGruppe ProduktPreis 1001 Fussball X16 2 30,05 1002 Fussball X17 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
19
Tabellenpartitionierung
Partitionierungsdimensionen: - Eindimensionale Partitionierungsfunktion B 6 P1 P2 P3 A 5 4 3 2 1 7 8 9
20
Tabellenpartitionierung
- Mehrdimensionale Partitionierungsfunktion B 6 P4 P5 P6 A 5 4 3 P1 P2 P3 2 1 7 8 9 B 6 P4 A 5 4 3 P1 P2 P3 2 1 7 8 9 Variante 1 Variante 2
21
Tabellenpartitionierung - Arten
Bereichs-Partitionierung (Range-Partitioning) - Wertebereiche der ausgewählten Attribute wird in disjunkte Intervalle zerlegt - Partitionierungsfunktion aufstellen - Datensätze werden mittels Partitionierungs- funktion den Partitionen zugeteilt Eignet sich überall dort, wo aufgrund der Tabellenstruktur und der Spaltenwerte NATÜRLICHE Partitionierungswerte vorliegen, die darüber hinaus eine Gleichverteilung der Daten garantieren können. Z.B. Partitionierung nach Jahren und Monaten, d.h. für jeden Monat eines Jahres eine Partition, die einzeln gelöscht oder archiviert werden kann
22
Tabellenpartitionierung - Arten
Selektionsprädikat Ausgangstabelle: ProduktNr ProduktName ProdGruppe ProduktPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 59,95 1002.bmp 1003 Basketball 1 70,00 1003.bmp 1004 Volleyball 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 269,00 2005.bmp 3001 Fit.riegel Q10 2,15 3001.bmp 3002 Fit.riegel Q12 3,50 3002.bmp P1 P2 P3 Restpartition möglich
23
Tabellenpartitionierung - Arten
Hash-Partitionierung - Datensätze werden mit einer Hash-Funktion verteilt - DBMS errechnet beim INSERT Partitions- nummer als Hashwert aus Attributwerten - Breite Streuung der Datensätze auf Partitionen - Vorteil: Keine parallele Suche notwendig, da die Partition wiederholt berechnet werden kann - Zuteilung wie bei Range auch über eine oder mehrere Spalten Nur die Anzahl der gewünschten Partitionen angeben, Rest macht Hash-Funktion Vorteile, wo KEINE natürlichen Partitionierungskriterien vorliegen oder die nur eine sehr ungleiche Verteilung der Daten aufweisen BESSER, wenn man nur 1. Spalten mit möglichst hoher Selektivität & 2. eindeutige oder nahezu eindeutige Werte als Kriterium auswählt
24
Tabellenpartitionierung - Arten
Beispiel Hashfunktion: Zwei Partitionen: h(k)= k mod 2 Partition 1 ( h(ProduktNr) = 0 ): ProdNr ProduktName ProdGr. ProdPreis ProduktBild 1001 Fussball X16 2 30,05 1001.bmp 1002 Fussball X17 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 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 Partition 2 ( h(ProduktNr) = 1 ): ProdNr 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 h(1005) = 1005 mod 2 = 1 h(1002) = 1002 mod 2 = 0 h(1001) = 1001 mod 2 = 1 h(2001) = 2001 mod 2 = 1 h(2002) = 2002 mod 2 = 0 h(2003) = 2003 mod 2 = 1 h(2004) = 2004 mod 2 = 0
25
Tabellenpartitionierung - Arten
Composite - Partitionierung Kombination z.B. aus Range- & Hash-Partitionierung Range-Partitionierung durchführen Subpartition mittels Hash-Funktion
26
Tabellenpartitionierung - Arten
List – Partitionierung - Administrator bestimmt diskrete Werteliste - anhand dieser Liste werden Tupel den Partitionen zugeteilt - Vorteil: Inhaltlich nicht zusammenhängende Werte können in einer Partition zusammen- gefasst werden (sonst Range-Partitionierung) - Administrator für gleichmäßige Verteilung verant- wortlich
27
Tabellenpartitionierung - Arten
Random – Partitionierung - DBMS verteilt Tupel beim INSERT zufällig auf Partitionen - führt zu einer weitgehend gleichmäßigen Belegung - Vorteil: Partitionen können gleichzeitig durchsucht werden - Nachteil: nicht bekannt, wo Tupel abgelegt wurden
28
Tabellenpartitionierung - Arten
Round Robin – Partitionierung - DBMS füllt beim INSERT die Partitionen ‚reihum‘ auf - gleichmäßige Partitionsbelegung - Vorteil: gleichzeitiges Durchsuchen möglich - Nachteil: nicht bekannt, wo Tupel abgelegt wurde (ganze Tabelle durchsuchen)
29
Tabellenpartitionierung - Arten
Übersicht: Parititionierungs-verfahren Range Hash Composite List Random Round Robin wertebasiert x nicht wertebasiert
30
Übersicht Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick
31
Anwendung DWH Data Warehouse Ansatz - Multidimensionaler Datenraum
- Realisierung meist durch RDBMS - Multidimensionale Zusammenhänge werden mittels relationalem Sternschema umgesetzt Multidimensionales Datenmodell - Unterteilung der Daten in Fakten & Dimensionen
32
Anwendung DWH Beispiel Sternschema Dimsionstabellen Faktentabelle
ZEITEN ZEITNR Tag Monat Jahr Wochentag Kalenderwoche Quartal Beispiel Sternschema Dimsionstabellen KUNDEN KDNR Nachname Vorname Adresse PLZ Ort Gebiet VERKÄUFE RECHNR KDNR ZEITNR PRODNR Menge Preis PRODUKTE PRODNR ProdName ProdGruppe PreisEK PreisVK Faktentabelle
33
Anwendung DWH Mögliche Anfrage: Wieviel Umsatz haben die
VERKÄUFE: 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 RECHNR KDNR ZEITNR PRODNR Menge Preis 1 1021 85 1455 10 50 1005 1000 86 13 5074 95 31 5084 2000 55 100 5086 120 54 5189 121 45 1 1005 5074 5084 5086 5189 1005 5074 5086 5189 1 5084
34
Anwendung DWH 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) .. 91 90 1 : P2 P1 1000 1001 KDNR P4 P3 ZEITNR 5189 5086 5084 5074 1005
35
Anwendung DWH Partitionierung bietet Optimierungspotenziale Bereiche:
- Verwaltung sehr großer Relationen - Überspringen von Partitionen bei der Anfrageauswertung - Ausnutzung paralleler Datenbank- & Systemarchitekturen
36
Anwendung DWH Verwaltung sehr großer Relationen
- klassische Einfüge- & Löschoperationen für große Teile einer Datenbasis auf einzelner Tabelle ineffizient - Vorteil der Partitionierung: Einfaches Hinzufügen oder Löschen mittels DDL Anweisung
37
Anwendung DWH Überspringen von Partitionen bei Anfrageauswertung (partition pruning) - Voraussetzung: Anfrage weist Restriktion auf, die über Partitionierungskriterium definiert ist - nur betroffene Relationen müssen zur Beantwortung herangezogen werden - wesentlicher leistungssteigernder Ansatz bei der Ausführung von Warehouse-Anfragen
38
Anwendung DWH Ausnutzung paralleler Datenbank- & Systemarchitekturen
- Aufteilen großer Datenbestände in kleinere Partitionen ermöglicht systemtechnische Optimierung - einzelne Partitionen auf unterschiedliche Festplatten verteilen, um parallel zugreifen zu können
39
Informix Dynamic Server (Enterpreise and Workgroup Edition 10.00)
Anwendungen DBS ADABAS (Tool Adabas Vista) Informix Dynamic Server (Enterpreise and Workgroup Edition 10.00) Oracle 10g Sybase IQ Part.-arten Range Round Robin, Expression (benutzerdefinierte Verteilungs-funktion, z.B. Range, Hash) Range, Hash, List, Composite Range-Hash, Composite Range-List Hash, Range
40
Anwendung: Oracle Beispiel: Range-Partitionierung
CREATE 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 ); Jede Partition in separatem Tablespace Für alle Partitionen Extent-Größe von 900 MB (vor Partitionierungsklausel
41
Anwendung: DB2 Beispiel: Hash-Partitionierung CREATE TABLE Produkte
( prodnr int primary key, ... ) partitioning key (prodnr) using hash
42
Übersicht Einführung und Motivation Grundlagen der Partitionierung
Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick
43
Ausblick Optimierungspotenzial vorhanden
Unterschiede zwischen den Herstellern weitere Anwendung z.B. in der Archivierung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.