Partitionierung im DWH: 
Erkenntnisse aus der Praxis 
Oracle DWH Konferenz 
Dani Schnider 
Trivadis AG 
Kassel, 19. März 2...
Dani Schnider 
 Principal Consultant und 
DWH/BI Lead Architect 
bei Trivadis in Zürich 
 Kursleiter für Trivadis-Kurse ...
Kurzvorstellung Trivadis. 
Trivadis ist führend bei der IT-Beratung, der Systemintegration 
und der Erbringung von IT-Serv...
Mit über 600 IT- und Fachexperten bei Ihnen vor Ort. 
2014 © Trivadis 
11 Trivadis Niederlassungen mit 
über 600 Mitarbeit...
Der richtige Partition Key 
Laden durch Austauschen 
Rollende Zeitfenster 
Globale Statistiken 
2014 © Trivadis 
Partition...
Der richtige Partition Key 
Richtiger Partition Key ist wichtig für: 
 Abfrageoptimierung 
 Partition Pruning 
 Partiti...
Praxisbeispiel 1: Fluggesellschaft 
 Flugbuchungen in partitionierter Faktentabelle 
 RANGE Partitionen pro Monat, Parti...
Praxisbeispiel 1: Fluggesellschaft 
 Lösung: Partition Key Abflugdatum statt Buchungsdatum 
 Daten werden in aktuelle un...
Praxisbeispiel 1: Fluggesellschaft 
 Bessere Lösung: Composite RANGE-RANGE Partitioning 
 RANGE Partitionen auf Abflugda...
Praxisbeispiel 2: Internationale Bank 
 Kontostände für internationale Kunden 
 Monatliche Filelieferungen aus unterschi...
Praxisbeispiel 2: Internationale Bank 
 Problem: Partition Key LOAD_ID ist für Abfragen ungeeignet 
 Abfragen basieren a...
Der richtige Partition Key 
Laden durch Austauschen 
Rollende Zeitfenster 
Globale Statistiken 
2014 © Trivadis 
Partition...
Partition Exchange – Vorgehensweise 
1. Daten in Work-Tabelle laden 
2. Indizes auf Work-Tabelle erstellen 
3. Auf Zieltab...
Partition Exchange – Vorgehensweise 
1. Daten in Work-Tabelle laden 
2. Indizes auf Work-Tabelle erstellen 
3. Auf Zieltab...
Partition Exchange – Vorgehensweise 
1. Daten in Work-Tabelle laden 
2. Indizes auf Work-Tabelle erstellen 
3. Auf Zieltab...
Interval Partitioning 
Seit Oracle 11g können Partitionen automatisch erstellt werden 
 Erweiterung von RANGE Partitionin...
Praxisbeispiel 3: Partition Exchange und Interval 
Partitioning 
 Problem: Partitionen können bei Interval Partitioning n...
Praxisbeispiel 3: Partition Exchange und Interval 
Partitioning 
1. Work-Tabelle laden 
2. Erste Row in Zieltabelle einfüg...
Der richtige Partition Key 
Laden durch Austauschen 
Rollende Zeitfenster 
Globale Statistiken 
2014 © Trivadis 
Partition...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
 Anforderungen 
 Monatspartitionen auf allen Faktentabellen, tägli...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
1. Set next tablespace to read-write 
TS_01 TS_02 TS_03 TS_04 TS_05 ...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
1. Set next tablespace to read-write 
2. Drop oldest partition 
TS_0...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
1. Set next tablespace to read-write 
2. Drop oldest partition 
3. C...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
1. Set next tablespace to read-write 
2. Drop oldest partition 
3. C...
Praxisbeispiel 4: Automatische Partitionenverwaltung 
1. Set next tablespace to read-write 
2. Drop oldest partition 
3. C...
Der richtige Partition Key 
Laden durch Austauschen 
Rollende Zeitfenster 
Globale Statistiken 
2014 © Trivadis 
Partition...
Globale Statistiken 
 Globale Statistiken sind entscheidend für gute Execution Plans 
 num_distinct, low_value, high_val...
Nächste SlideShare
Wird geladen in …5
×

Haben Sie die Zeit im Griff? Zeitdimensionen - DOAG 2012

511 Aufrufe

Veröffentlicht am

Dani Schnider, Principal Consultant und DWH/BI Lead Architect bei Trivadis in Zürich, referierte an der DOAG Konferenz 2012 in Nürnberg.

Veröffentlicht in: Präsentationen & Vorträge
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
511
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Haben Sie die Zeit im Griff? Zeitdimensionen - DOAG 2012

  1. 1. Partitionierung im DWH: Erkenntnisse aus der Praxis Oracle DWH Konferenz Dani Schnider Trivadis AG Kassel, 19. März 2013 BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 1
  2. 2. Dani Schnider  Principal Consultant und DWH/BI Lead Architect bei Trivadis in Zürich  Kursleiter für Trivadis-Kurse über Data Warehousing, SQL Optimierung und Oracle Warehouse Builder  Co-Autor des Buches «Data Warehousing mit Oracle» 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 2
  3. 3. Kurzvorstellung Trivadis. Trivadis ist führend bei der IT-Beratung, der Systemintegration und der Erbringung von IT-Services mit Fokussierung auf - und -Technologien im D-A-CH-Raum. Unsere Leistungen erbringen wir aus den strategischen Geschäftsfeldern: Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme. 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 3
  4. 4. Mit über 600 IT- und Fachexperten bei Ihnen vor Ort. 2014 © Trivadis 11 Trivadis Niederlassungen mit über 600 Mitarbeitenden 200 Service Level Agreements Mehr als 4'000 Trainingsteilnehmer Forschungs- und Entwicklungs-budget: CHF 5.0 / EUR 4 Mio. Finanziell unabhängig und nachhaltig profitabel Erfahrung aus mehr als 1'900 Projekten pro Jahr bei über 800 Kunden Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 4
  5. 5. Der richtige Partition Key Laden durch Austauschen Rollende Zeitfenster Globale Statistiken 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 5
  6. 6. Der richtige Partition Key Richtiger Partition Key ist wichtig für:  Abfrageoptimierung  Partition Pruning  Partition-wise Joins  ETL Performance  Partition Exchange  Data Retention Typisch für Data Warehouses:  RANGE-Partitionierung von Faktentabelle  Partition Key: Datum  Aber welches Datum? 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 6 Dimension Dimension Dimension Fact Table Dimension
  7. 7. Praxisbeispiel 1: Fluggesellschaft  Flugbuchungen in partitionierter Faktentabelle  RANGE Partitionen pro Monat, Partition Key: Buchungsdatum Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Sep 09 Oct 09 Nov 09 Dec 09  Problem: Die meisten Abfragen beziehen sich auf das Abflugdatum  Flüge können 11 Monate im Voraus gebucht werden  11 Partitionen müssen für ein spezifisches Abflugdatum gelesen werden 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 7 „Alle Buchungen für Flüge im November 2009“
  8. 8. Praxisbeispiel 1: Fluggesellschaft  Lösung: Partition Key Abflugdatum statt Buchungsdatum  Daten werden in aktuelle und zukünftige Partitionen geladen  Abfragen nach Abflugdatum lesen nur eine Partition  Abfragen nach Buchungsdatum müssen 11 (kleine) Partitionen lesen 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 8
  9. 9. Praxisbeispiel 1: Fluggesellschaft  Bessere Lösung: Composite RANGE-RANGE Partitioning  RANGE Partitionen auf Abflugdatum  RANGE Subpartitionen auf Buchungsdatum  Mehr Flexibilität für Abfragen auf Abflug- und/oder Buchungsdatum 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 9
  10. 10. Praxisbeispiel 2: Internationale Bank  Kontostände für internationale Kunden  Monatliche Filelieferungen aus unterschiedlichen Ländern  Teilweise Korrekturfiles (ersetzen letzte Lieferung des gleichen Monats)  Ursprüngliche Lösung:  Technische LOAD_ID für jede Kombination von Monat/Land  LIST Partitionen auf LOAD_ID  Files werden in Stage-Tabelle geladen  Partition Exchange mit aktueller Partition 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 10
  11. 11. Praxisbeispiel 2: Internationale Bank  Problem: Partition Key LOAD_ID ist für Abfragen ungeeignet  Abfragen basieren auf Bilanzdatum 2014 © Trivadis  Lösung:  RANGE Partitionen auf Bilanzdatum  LIST Subpartitionen auf Ländercode  Partition Exchange mit Subpartitionen Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 11
  12. 12. Der richtige Partition Key Laden durch Austauschen Rollende Zeitfenster Globale Statistiken 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 12
  13. 13. Partition Exchange – Vorgehensweise 1. Daten in Work-Tabelle laden 2. Indizes auf Work-Tabelle erstellen 3. Auf Zieltabelle neue Partition anfügen 4. Partition Exchange 5. Ev. Work-Tabelle löschen 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 13
  14. 14. Partition Exchange – Vorgehensweise 1. Daten in Work-Tabelle laden 2. Indizes auf Work-Tabelle erstellen 3. Auf Zieltabelle neue Partition anfügen 4. Partition Exchange 5. Ev. Work-Tabelle löschen 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 14
  15. 15. Partition Exchange – Vorgehensweise 1. Daten in Work-Tabelle laden 2. Indizes auf Work-Tabelle erstellen 3. Auf Zieltabelle neue Partition anfügen 4. Partition Exchange 5. Ev. Work-Tabelle löschen 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 15
  16. 16. Interval Partitioning Seit Oracle 11g können Partitionen automatisch erstellt werden  Erweiterung von RANGE Partitioning  INTERVAL Partitioning  Beim Einfügen von neuen Daten wird bei Bedarf neue Partition erstellt 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 16
  17. 17. Praxisbeispiel 3: Partition Exchange und Interval Partitioning  Problem: Partitionen können bei Interval Partitioning nicht explizit erstellt 2014 © Trivadis werden Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 17
  18. 18. Praxisbeispiel 3: Partition Exchange und Interval Partitioning 1. Work-Tabelle laden 2. Erste Row in Zieltabelle einfügen  Neue Partition wird erstellt 3. Partition Exchange 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 18
  19. 19. Der richtige Partition Key Laden durch Austauschen Rollende Zeitfenster Globale Statistiken 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 19
  20. 20. Praxisbeispiel 4: Automatische Partitionenverwaltung  Anforderungen  Monatspartitionen auf allen Faktentabellen, tägliche ETL-Jobs  Daten werden 3 Jahre gespeichert (36 Partitionen pro Tabelle)  Table Compression, um Full Table Scans zu beschleunigen  Backup nur auf jeweils aktuelle Partitionen TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 20 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Sep 09 Oct 06 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07
  21. 21. Praxisbeispiel 4: Automatische Partitionenverwaltung 1. Set next tablespace to read-write TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 21 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Sep 09 Oct 06 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07
  22. 22. Praxisbeispiel 4: Automatische Partitionenverwaltung 1. Set next tablespace to read-write 2. Drop oldest partition TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 22 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Sep 09 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07 22
  23. 23. Praxisbeispiel 4: Automatische Partitionenverwaltung 1. Set next tablespace to read-write 2. Drop oldest partition 3. Create new partition for next month TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 Oct 09 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 23 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Sep 09 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07 23
  24. 24. Praxisbeispiel 4: Automatische Partitionenverwaltung 1. Set next tablespace to read-write 2. Drop oldest partition 3. Create new partition for next month 4. Compress current partition TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 Oct 09 Sep 09 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 24 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07 24
  25. 25. Praxisbeispiel 4: Automatische Partitionenverwaltung 1. Set next tablespace to read-write 2. Drop oldest partition 3. Create new partition for next month 4. Compress current partition 5. Set tablespace to read-only TS_01 TS_02 TS_03 TS_04 TS_05 TS_06 TS_07 TS_08 TS_09 TS_10 TS_11 TS_12 TS_13 TS_14 TS_15 TS_16 TS_17 TS_18 TS_19 TS_20 TS_21 TS_22 TS_23 TS_24 Oct 09 Sep 09 TS_25 TS_26 TS_27 TS_28 TS_29 TS_30 TS_31 TS_32 TS_33 TS_34 TS_35 TS_36 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 25 Jan 08 Feb 08 Mar 08 Apr 08 Mai 08 Jun 08 Jul 08 Aug 08 Sep 08 Oct 08 Nov 08 Dec 08 Jan 09 Feb 09 Mar 09 Apr 09 Mai 09 Jun 09 Jul 09 Aug 09 Nov 06 Dec 06 Jan 07 Feb 07 Mar 07 Apr 07 Mai 07 Jun 07 Jul 07 Aug 07 Sep 07 Oct 07 Nov 07 Dec 07 25
  26. 26. Der richtige Partition Key Laden durch Austauschen Rollende Zeitfenster Globale Statistiken 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 26
  27. 27. Globale Statistiken  Globale Statistiken sind entscheidend für gute Execution Plans  num_distinct, low_value, high_value, density, histograms  Berechnen von globalen Statistiken ist zeitintensiv  Alle Partitionen müssen gelesen werden 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 27
  28. 28. Inkrementelle globale Statistiken  Globale Statistiken aus Zusatzinformationen  „Synopsis“ pro Partition im SYSAUX Tablespace  Zusätzliche Metadaten zur Berechnung der globalen Statistiken  Globale Statistiken werden aus diesen Zusatzinformationen abgeleitet 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 28
  29. 29. Praxisbeispiel 5: Globale Statistiken nach Migration auf 11g  Ausgangslage  Bestehendes Data Warehouse auf Oracle 10g Release 2  Statistiken auf Partitionen mit estimate_percent = 1  Keine globalen Statistiken!  Nach Migration auf Oracle 11g Release 1  Proof of Concept für Inkrementelle globale Statistiken   Statistikberechnung dauert viel länger als bisher   funktioniert nur mit auto_sample_size  Gewählte Lösung  Statistiken auf Partitionen (nicht inkrementell) mit estimate_percent = 1 (ETL)  Monatliche Berechnung von globalen Statistiken 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 29
  30. 30. Vielen Dank. Trivadis AG Dani Schnider Europa-Strasse 5 CH-8152 Glattbrugg/Zürich Schweiz Tel. +41 44 808 70 20 Fax +41 44 808 70 21 info@trivadis.com www.trivadis.com blog.trivadis.com/blogs/danischnider/ BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2014 © Trivadis Partitionierung im DWH: Erkenntnisse aus der Praxis 19. März 2013 30

×