Performanceoptimierung mit Exadata

Erfahrungsbericht - Performanceoptimierung mit Exadata
Performanceoptimierung mit Exadata
Verarbeitung extremer Datenmengen mit PL/SQL basierter
Datenbewirtschaftung (Erfahrungsbericht)
Christian Haag, DATA MART Consulting
Consulting Manager
Oracle DWH Team
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Thematik – Worum geht es?
 Aufbau eines Data Warehouses
 Verarbeitung großer Datenmengen aus dem Online Marketing
Bereich
 Massive Parallelverarbeitung
 Ad-hoc Anfragen auf Tabellen >30 Mrd. Datensätze
 Auswertung und Analyse von komplexem Kundenverhalten
 Kundensegmentierung
 Trendanalysen
 Produktanalysen
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Anforderungen und Ziele – Wozu?
 „Single Point of Maintenance“ (Oracle DB)
 Zentrale Datenhaltung
 Konsolidierte Sicht auf die Daten
 Dynamische Erweiterungsmöglichkeiten
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Anforderungen und Ziele – Wozu?
 Schnellere Umsetzung von neuen Anforderungen
 Einfache Wartbarkeit und Übergabe
 Flexible Kundenanforderungen
 Kostenminimierung
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Herausforderungen






Daten tagesaktuell und performant zu verarbeiten
Unabhängige Mandantenverarbeitung
Automatisierung
Ladeprozesse zu standardisieren
Daten möglichst nicht redundant zu speichern
Datenqualität sicherstellen durch standardisierte Prüfverfahren
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Architektur / Komponenten
Reporting
Other Systems
Other
X-Data DB
Server
ETL
CSV
All rights reserved
ETL
ETL
JSON
Other
ETL
ETL
Prozessserver
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Komponenten
 Oracle PL/SQL Packages
 Eigene PL/SQL Packages als
Werkzeugkasten
 Linux Skripte (aus DB erzeugt)
 JSON Konverter
 Java
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Facts and Figures – Hardware / Software
 Exadata X3-2 Quarter1 Rack:




All rights reserved
1Quelle:
Oracle Tech Net
2 Datenbank Server, jeder mit:
 2 x Eight-Core Intel® Xeon® E5-2690 Processors
(2.9 GHz)
 256 GB Memory
48 TB Datenvolumen (nutzbar) + Expansion Rack
Oracle 11g (11.2.0.3) Database Cluster mit mehreren
Instanzen
Datawarehouse auf 1 Instanz !
 Ressourcenteilung
 32 Cores
 60GB SGA
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Facts and Figures – Data Warehouse
 Gesamtgröße DWH (6 Monate):
 ~60 Mrd Datensätze
 ~10TB (EHCC for Query High)
 ~180Mio. Datensätze / Tag
 ~24GB Datendateien / Tag
 Zur Zeit 13 Mandaten die parallel verarbeitet werden
 Online/Offline Reporting Systeme die bedient werden (AdHoc
Reporting, Report Verteilung)
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Lösungsbeschreibung – Wie wurde es gemacht?
Herausforderung
Lösung
Daten tagesaktuell und performant zu
verarbeiten
Parallelisierung, Partitionierung, Komprimierung
Unabhängige Mandantenverarbeitung
Logische Parallelisierung durch Jobs
Automatisierung
Scheduler Jobs
Ladeprozesse zu standardisieren
Metadaten Repository mit notwendigen
Parametern (Dateiverzeichnisse, API Parameter,
Prozessketten, etc.)
Daten möglichst nicht redundant zu speichern
Anreicherung bereits auf Staging Ebene danach
nur noch Aggregation und Harmonisierung
Datenqualität sicherstellen durch standardisierte
Prüfverfahren
Allgemeine Prüfverfahren (Statistiken,
Grenzwerte, Plausibilität)
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Lösungsbeschreibung - Erfahrungen
 Gutes Partitionierungskonzept zwingend notwendig
 Möglichst viele Bulk Operationen (CTAS, INSERT APPEND,
PARALLEL INSERTS auch wegen Komprimierung)
 Index NUR wenn Spalten häufig abgefragt werden (Cell Server
Smart Scans sehr schnell) oder auf häufige Join Spalten
 Partition Exchange Loads (Wenn komplette Partitionen ersetzt
werden können) !
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Lösungsbeschreibung - Erfahrungen
 Intelligentes SQL (immer Partitionskriterien verwenden, Hints
verwenden da Optimizier nicht immer beste Lösung findet)
 Regelmäßige Datenbankstatistiken fahren
 Hash-Partitionen nur benutzen wenn kein anderes sinnvolleres
Kriterium für Partitionierung vorhanden
 Die Ressourcen sollten im Auge behalten werden, da Teilung mit
anderen Nodes (ähnlich Cloud-Ansatz 12c)
 Grundregeln des Data Warehousing gelten auch für Exadata
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
DOs – „Lessons Learned“
 Sinnvolle Verteilung der Tabellen und Partitionen damit die Cell Server
ausgelastet sind
 Parallele Abfragen erzeugen
 Datenmengen durch Selects so einschränken das temporärer Speicherplatz
nicht zu groß wird (evtl. Bulk Operationen)
 Unbedingt Komprimierung verwenden (Performance für Abfragen, Reduktion
des Speicherplatzes) => Performance beim Laden nur marginal langsamer
 Große Textdateien komprimiert anliefern lassen und während dem
Ladeprozess entpacken (Spart unnötige Zeit beim entpacken)
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Don‘ts - „Lessons Learned“





Keine unnötigen Indizes anlegen (Maintenance und Speicherplatz)
Hash-Partitionierung nur wenn keine andere Partitionierung sinnvoll
Einzelne Updates auf komprimierte Tabellen/Partitionen
Parallel DML durch verschiedene Jobs auf selbe Tabelle (Locks)
Automatisches Parallelisieren kann zu Konflikten führen immer gezieltes
Parallelisieren aktivieren/deaktivieren
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Inhalt








Thematik (Einordnung des Projektbeispiels)
Anforderungen und Ziele
Herausforderungen
Architektur / Komponenten
Facts and Figures
Lösungsbeschreibung / Erfahrungen
Dos and Don‘ts
Fazit
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Fazit
 Exadata ist eine extrem performante Oracle DWH Appliance, die:
 die Performance optimiert
 eine Oracle DB darstellt mit ein paar Besonderheiten:
 SMART Scans
 Spezielle Architektur ist bei allen Prozessen zu berücksichtigen





Standardisierbar ist
Beliebig skalierbar ist
Intelligentes Storage Management bietet
Kosten sparen kann (im Vergleich zu hohen Kosten in Data Centern)
Einfach wartbar ist, da alles auf einer Maschine
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
Fragen
All rights reserved
http://www.datamart.de
Erfahrungsbericht - Performanceoptimierung mit Exadata
www.datamart.de
All rights reserved
http://www.datamart.de