Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst."—  Präsentation transkript:

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

2 10.06.2005 2 Gliederung Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Anwendung im DWH Umfeld Ausblick Ausblick

3 10.06.2005 3 Übersicht Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Anwendung im DWH Umfeld Ausblick Ausblick

4 10.06.2005 4 Einführung Daten Partitionierung: Daten Partitionierung: - Ansatz ursprünglich aus verteilten DB Bsp.: Logisch eine Produkttabelle - in HH produzierte Produkte (Produkttupel) liegen in HH (ProduktNr 1xxxx) (ProduktNr 1xxxx) - in K produzierte Produkte (Produkttupel) liegen in K (ProduktNr 2xxxx) (ProduktNr 2xxxx) - Produkttabelle physisch partitioniert horizontale Partitionierung nach ProduktNr horizontale Partitionierung nach ProduktNr

5 10.06.2005 5 Einführung - vertikale Partitionierung (physisch) - Zuordnung verschiedener Spalten zu - Zuordnung verschiedener Spalten zu verschiedenen Lokationen verschiedenen Lokationen Bsp.: Logisch eine Produkttabelle - Bildmaterial der Produkte liegt in M bei Marketing- abteilung abteilung - Verkaufspreise der Produkte liegen in der Kosten- rechnung in B rechnung in B seit 2. Hälfte der `90er Einzug in zentralisierte DBMS seit 2. Hälfte der `90er Einzug in zentralisierte DBMS

6 10.06.2005 6 Einführung Data Warehousing kann zu Datenbanken in hohen Giga- oder Terabyte-Bereichen führen 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 Es kommen immer mehr Daten hinzu, jedoch werden in der Regel keine gelöscht Datenvolumen stellt DBen kaum vor Probleme Datenvolumen stellt DBen kaum vor Probleme Probleme verursachen Tabellen mit vielen Millionen oder sogar Milliarden Tupeln Probleme verursachen Tabellen mit vielen Millionen oder sogar Milliarden Tupeln

7 10.06.2005 7 Motivation Umgang mit großen Relationen Umgang mit großen Relationen Partitionierung bietet Optimierungspotenziale Partitionierung bietet Optimierungspotenziale Ziel der Partitionierungstechnik: Ziel der Partitionierungstechnik: Steigerung des Leistungsverhaltens von Anfragen im Zusammenhang mit der Datenpartitionierung

8 10.06.2005 8 Übersicht Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Anwendung im DWH Umfeld Ausblick Ausblick

9 10.06.2005 9 Partitionierung - Grundlagen Partitionierungsidee: Divide & Conquer Partitionierungsidee: Divide & Conquer Partitionen können unabhängig voneinander verwaltet werden 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) 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 Tabellen und Zugriffspfade können partitioniert werden

10 10.06.2005 10 Partitionierung - Grundlagen Definitionsansatz: 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. 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 10.06.2005 11 Partitionierung - Grundlagen Zur Definition (1): Zur Definition (1): Eine Partitionierung von Tabellen und Zugriffspfaden ist eine injektive (eindeutige) Abbildung von Tupeln einer Tabelle… Eine Partitionierung von Tabellen und Zugriffspfaden ist eine injektive (eindeutige) Abbildung von Tupeln einer Tabelle… ProduktNrProduktNameProduktGruppeProduktPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1003Basketball170,001003.bmp 1004Volleyball121,991004.bmp 1005Tennisball12,331005.bmp ::::: 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp 2005Schuh X611269,002005.bmp Partition 1 Partition 2

12 10.06.2005 12 Partitionierung - Grundlagen Zur Definition (2): Zur Definition (2): … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteabhängiger Kriterien… … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteabhängiger Kriterien… - Berechnung der Partition eines Datensatzes durch eine Funktion anhand der Attributwerte durch eine Funktion anhand der Attributwerte - Partitionierungsarten: z.B. Range-, Hash-Partitionierung z.B. Range-, Hash-Partitionierung

13 10.06.2005 13 Partitionierung - Grundlagen Zur Definition (3): Zur Definition (3): … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteunabhängiger Kriterien. … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteunabhängiger Kriterien. - DBMS hat keine Info`s, in welcher Partition sich Datensatz X befindet sich Datensatz X befindet - Partitionierungsarten: z.B. Random-, Round-Robin-Partitionierung z.B. Random-, Round-Robin-Partitionierung

14 10.06.2005 14 Übersicht Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DHW Umfeld Anwendung im DHW Umfeld Ausblick Ausblick

15 10.06.2005 15 Tabellenpartitionierung Horizontale Partitionierung Horizontale Partitionierung - Relation wird zeilenweise in disjunkte Teilmengen partitioniert Teilmengen partitioniert - Tupel als Ganzes wird nicht zerlegt (wie bei vertikaler Partitionierung) vertikaler Partitionierung)

16 10.06.2005 16 Tabellenpartitionierung ProdNrProduktNameProdGr.ProdPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1003Basketball170,001003.bmp 1004Volleyball121,991004.bmp 1005Tennisball12,331005.bmp ::::: 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp 2005Schuh X611269,002005.bmp ProdNrProduktNameProdGr.ProdPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1003Basketball170,001003.bmp 1004Volleyball121,991004.bmp 1005Tennisball12,331005.bmp ::::: ProdNrProduktNameProdGr.ProdPreisProduktBild 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp 2005Schuh X611269,002005.bmp Selektionsprädikat (Partitionierungsprädikat) Horizontale Partitionierung

17 10.06.2005 17 Tabellenpartitionierung Vertikale Partitionierung Vertikale Partitionierung - Häufig zur Abspaltung der LOBs verwandt - Aufteilung der Relation in eine oder mehrere Spalten Spalten - Bis auf den Schlüssel disjunkt partitioniert - Für die Rekonstruktion notwendig

18 10.06.2005 18 Tabellenpartitionierung ProduktNrProduktNameProdGruppeProduktPreis 1001Fussball X16230,05 1002Fussball X17259,95 1005Tennisball12,33 :::: 2001Nike Shirt T65365,00 2002Adidas Cap Nr1720,50 2003PowerBar Riegel152,00 2004Schuh X111149,99 ProduktNrProduktBild 10011001.bmp 10021002.bmp 10051005.bmp :: 20012001.bmp 20022002.bmp 20032003.bmp 20042004.bmp ProdNrProduktNameProdGr.ProdPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1005Tennisball12,331005.bmp ::::: 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp Vertikale Partitionierung

19 10.06.2005 19 Tabellenpartitionierung Partitionierungsdimensionen: - Eindimensionale Partitionierungsfunktion B 6 P1P1 P2P2 P3P3 A 5 4 3 2 1 123456789

20 10.06.2005 20 Tabellenpartitionierung - Mehrdimensionale Partitionierungsfunktion B 6 P4P4 P5P5 P6P6 A 5 4 3 P1P1 P2P2 P3P3 2 1 123456789 B 6 P4P4 A 5 4 3 P1P1 P2P2 P3P3 2 1 123456789 Variante 1Variante 2

21 10.06.2005 21 Tabellenpartitionierung - Arten Bereichs-Partitionierung (Range-Partitioning) - Wertebereiche der ausgewählten Attribute wird in disjunkte Intervalle zerlegt in disjunkte Intervalle zerlegt - Partitionierungsfunktion aufstellen - Datensätze werden mittels Partitionierungs- funktion den Partitionen zugeteilt funktion den Partitionen zugeteilt

22 10.06.2005 22 Tabellenpartitionierung - Arten ProduktNrProduktNameProdGruppeProduktPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1003Basketball170,001003.bmp 1004Volleyball121,991004.bmp ::::: 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp 2005Schuh X611269,002005.bmp ::::: 3001Fit.riegel Q10152,153001.bmp 3002Fit.riegel Q12153,503002.bmp Ausgangstabelle: Selektionsprädikat P1P1 P2P2 P3P3

23 10.06.2005 23 Tabellenpartitionierung - Arten Hash-Partitionierung - Datensätze werden mit einer Hash-Funktion verteilt verteilt - DBMS errechnet beim INSERT Partitions- nummer als Hashwert aus Attributwerten nummer als Hashwert aus Attributwerten - Breite Streuung der Datensätze auf Partitionen - Vorteil: Keine parallele Suche notwendig, da die Partition wiederholt berechnet werden kann Partition wiederholt berechnet werden kann

24 10.06.2005 24 Tabellenpartitionierung - Arten Beispiel Hashfunktion: Zwei Partitionen: h(k)= k mod 2 ProdNrProduktNameProdGr.ProdPreisProduktBild 1001Fussball X16230,051001.bmp 1002Fussball X17259,951002.bmp 1005Tennisball12,331005.bmp 2001Nike Shirt T65365,002001.bmp 2002Adidas Cap Nr1720,502002.bmp 2003PowerBar Riegel152,002003.bmp 2004Schuh X111149,992004.bmp ProdNrProduktNameProdGr.ProdPreisProduktBild 1001Fussball X16230,051001.bmp 1005Tennisball12,331005.bmp 2001Nike Shirt T65365,002001.bmp 2003PowerBar Riegel152,002003.bmp ProdNrProduktNameProdGr.ProdPreisProduktBild 1002Fussball X17259,951002.bmp 2002Adidas Cap Nr1720,502002.bmp 2004Schuh X111149,992004.bmp Partition 1 ( h(ProduktNr) = 0 ): Partition 2 ( h(ProduktNr) = 1 ): h(2004) = 2004 mod 2 = 0 h(2003) = 2003 mod 2 = 1 h(2002) = 2002 mod 2 = 0 h(2001) = 2001 mod 2 = 1 h(1005) = 1005 mod 2 = 1 h(1002) = 1002 mod 2 = 0 h(1001) = 1001 mod 2 = 1

25 10.06.2005 25 Tabellenpartitionierung - Arten Composite - Partitionierung Kombination z.B. aus Range- & Hash-Partitionierung 1. Range-Partitionierung durchführen 2. Subpartition mittels Hash-Funktion

26 10.06.2005 26 Tabellenpartitionierung - Arten List – Partitionierung - Administrator bestimmt diskrete Werteliste - anhand dieser Liste werden Tupel den Partitionen zugeteilt Partitionen zugeteilt - 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 verant- wortlich wortlich

27 10.06.2005 27 Tabellenpartitionierung - Arten Random – Partitionierung - DBMS verteilt Tupel beim INSERT zufällig auf Partitionen auf Partitionen - führt zu einer weitgehend gleichmäßigen Belegung Belegung - Vorteil: Partitionen können gleichzeitig durchsucht werden durchsucht werden - Nachteil: nicht bekannt, wo Tupel abgelegt wurden

28 10.06.2005 28 Tabellenpartitionierung - Arten Round Robin – Partitionierung - DBMS füllt beim INSERT die Partitionen reihum auf reihum auf - gleichmäßige Partitionsbelegung - Vorteil: gleichzeitiges Durchsuchen möglich - Nachteil: nicht bekannt, wo Tupel abgelegt wurde (ganze Tabelle durchsuchen) wurde (ganze Tabelle durchsuchen)

29 10.06.2005 29 Tabellenpartitionierung - Arten Übersicht: Parititionierungs- verfahren RangeHashCompositeListRandom Round Robin wertebasiertxxxx nicht wertebasiert xx

30 10.06.2005 30 Übersicht Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Anwendung im DWH Umfeld Ausblick Ausblick

31 10.06.2005 31 Anwendung DWH Data Warehouse Ansatz Data Warehouse Ansatz - Multidimensionaler Datenraum - Multidimensionaler Datenraum - Realisierung meist durch RDBMS - Multidimensionale Zusammenhänge werden mittels relationalem Sternschema umgesetzt relationalem Sternschema umgesetzt Multidimensionales Datenmodell Multidimensionales Datenmodell - Unterteilung der Daten in Fakten & Dimensionen - Unterteilung der Daten in Fakten & Dimensionen

32 10.06.2005 32 Anwendung DWH Beispiel Sternschema Beispiel Sternschema KUNDEN KDNR Nachname Vorname Adresse PLZ Ort Gebiet VERKÄUFERECHNR KDNR ZEITNR PRODNR Menge Preis ZEITENZEITNR Tag Monat Jahr Wochentag Kalenderwoche Quartal PRODUKTEPRODNR ProdName ProdGruppe PreisEK PreisVK Faktentabelle Dimsionstabellen

33 10.06.2005 33 Anwendung DWH VERKÄUFE: RECHNRKDNRZEITNRPRODNRMengePreis110218514551050 100510008614551350 507410009514553150 5084102195200055100 5086100012014555450 51891000121200045100 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 1 5189 5086 5084 5074 1005 1 51895086 5084 5074 1005

34 10.06.2005 34 Anwendung DWH.. 9190..0 1 : P2P2 P1P1 1000 1001 : KDNR P4P4 P3P3 : ZEITNR 1 5189 5086 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)

35 10.06.2005 35 Anwendung DWH Partitionierung bietet Optimierungspotenziale Partitionierung bietet Optimierungspotenziale Bereiche: Bereiche: - Verwaltung sehr großer Relationen - Überspringen von Partitionen bei der Anfrageauswertung Anfrageauswertung - Ausnutzung paralleler Datenbank- & Systemarchitekturen Systemarchitekturen

36 10.06.2005 36 Anwendung DWH Verwaltung sehr großer Relationen Verwaltung sehr großer Relationen - klassische Einfüge- & Löschoperationen für große Teile einer Datenbasis auf einzelner große Teile einer Datenbasis auf einzelner Tabelle ineffizient Tabelle ineffizient - Vorteil der Partitionierung: Einfaches Hinzufügen oder Löschen mittels Einfaches Hinzufügen oder Löschen mittels DDL Anweisung DDL Anweisung

37 10.06.2005 37 Anwendung DWH Überspringen von Partitionen bei Anfrageauswertung (partition pruning) Überspringen von Partitionen bei Anfrageauswertung (partition pruning) - Voraussetzung: Anfrage weist Restriktion auf, die über Partitionierungskriterium definiert ist die über Partitionierungskriterium definiert ist - nur betroffene Relationen müssen zur Beantwortung herangezogen werden Beantwortung herangezogen werden - wesentlicher leistungssteigernder Ansatz bei der Ausführung von Warehouse-Anfragen der Ausführung von Warehouse-Anfragen

38 10.06.2005 38 Anwendung DWH Ausnutzung paralleler Datenbank- & Systemarchitekturen Ausnutzung paralleler Datenbank- & Systemarchitekturen - Aufteilen großer Datenbestände in kleinere Partitionen ermöglicht systemtechnische Partitionen ermöglicht systemtechnische Optimierung Optimierung - einzelne Partitionen auf unterschiedliche Festplatten verteilen, um parallel zugreifen zu Festplatten verteilen, um parallel zugreifen zu können können

39 10.06.2005 39 Anwendungen DBSADABAS (Tool Adabas Vista) Informix Dynamic Server (Enterpreise and Workgroup Edition 10.00) Oracle 10g Sybase IQ Part.-artenRange Round Robin, Expression (benutzerdefinierte Verteilungs- funktion, z.B. Range, Hash) Range,Hash,List, Composite Range- Hash, Composite Range- List Round Robin, Hash, Range

40 10.06.2005 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 );

41 10.06.2005 41 Anwendung: DB2 Beispiel: Hash-Partitionierung Beispiel: Hash-Partitionierung CREATE TABLE Produkte ( prodnr int primary key,... ) partitioning key (prodnr) using hash

42 10.06.2005 42 Übersicht Einführung und Motivation Einführung und Motivation Grundlagen der Partitionierung Grundlagen der Partitionierung Tabellenpartitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Anwendung im DWH Umfeld Ausblick Ausblick

43 10.06.2005 43 Ausblick Optimierungspotenzial vorhanden Optimierungspotenzial vorhanden Unterschiede zwischen den Herstellern Unterschiede zwischen den Herstellern weitere Anwendung z.B. in der Archivierung weitere Anwendung z.B. in der Archivierung


Herunterladen ppt "Seminar Data Warehousing Thema: Partitionierung Seminarvortrag10.06.2005 Benjamin Dunst."

Ähnliche Präsentationen


Google-Anzeigen