1 / 43

Seminar Data Warehousing Thema: Partitionierung

Seminar Data Warehousing Thema: Partitionierung. Seminarvortrag 10.06.2005 Benjamin Dunst. Gliederung. Einführung und Motivation Grundlagen der Partitionierung Tabellenpartitionierung Anwendung im DWH Umfeld Ausblick. Übersicht. Einführung und Motivation Grundlagen der Partitionierung

karim
Télécharger la présentation

Seminar Data Warehousing Thema: Partitionierung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar Data WarehousingThema: Partitionierung Seminarvortrag 10.06.2005 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

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

  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 Partition 2

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

  13. Partitionierung - Grundlagen • Zur Definition (3): … von Tupeln einer Tabelle bzw. eines Zugriffspfades anhand werteunabhängigerKriterien. - 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) 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

  18. Tabellenpartitionierung Vertikale Partitionierung

  19. Tabellenpartitionierung Partitionierungsdimensionen: - Eindimensionale Partitionierungsfunktion

  20. Tabellenpartitionierung - Mehrdimensionale Partitionierungsfunktion 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

  22. Tabellenpartitionierung - Arten Selektionsprädikat Ausgangstabelle: P1 P2 P3

  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

  24. Tabellenpartitionierung - Arten Beispiel Hashfunktion: Zwei Partitionen: h(k)= k mod 2 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. 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:

  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

  33. 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 1 1005 5074 5084 5086 5189 1005 5074 5086 5189 1 5084

  34. ZEITNR : P3 P4 KDNR 5084 1 : 1001 1000 P1 P2 5189 1005 5074 5086 : 1 0 .. 90 91 .. .. 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)

  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. Anwendungen

  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. 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

More Related