INDEXIERUNGS-STRATEGIE IM DATA 
WAREHOUSE 
ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE 
DOAG Konferenz 2011 
Dani Schnider...
Dani Schnider 
 Principal Consultant und 
DWH/BI Lead Architect 
bei Trivadis in Zürich 
 Kursleiter für Trivadis-Kurse ...
Mit über 600 IT- und Fachexperten bei Ihnen vor Ort 
2014 © Trivadis 
11 Trivadis Niederlassungen mit 
über 600 Mitarbeite...
Kurzvorstellung Trivadis 
Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem 
solution based Software- u...
Wie soll ich mein Data 
Warehouse 
indexieren? 
2014 © Trivadis 
Indexierungsstrategie im Data Warehouse 
15. November 201...
Es gibt verschiedene Meinungen... 
 Ein DWH-System hat mehr Indizes als ein OLTP-System 
 Indizes machen die Abfragen sc...
DWH ≠OLTP 
«It depends...» 
2014 © Trivadis 
Indexierungsstrategie im Data Warehouse 
15. November 2011 
7
Data Warehouse Architektur 
 Wie sollen die verschiedenen Schichten im DWH indexiert werden? 
2014 © Trivadis 
Indexierun...
Staging Area / Cleansing Area 
2014 © Trivadis 
Staging Area 
 Keine Indizes 
Cleansing Area 
 Primary Key / Unique Key ...
Selektivität und Zugriffsmethode 
2014 © Trivadis 
Indexierungsstrategie im Data Warehouse 
15. November 2011 
10 
 Selek...
2014 © Trivadis 
Core 
 Zweck von Core 
 Datenintegration von verschiedenen Quellsystemen 
 Historisierung und Versioni...
Indexierung von Core 
Dimensionales Core 
 Primary Key Constraints auf Dimensionstabellen 
 Oracle erstellt automatisch ...
Zeitliche Extraktion aus Core 
Core dient als Basis zum Laden der Data Marts 
Initiales Laden von Data Marts 
 Keine Datu...
Zeitliche Extraktion aus Core: Beispiel 
 Core enthält Daten der letzten 3 Jahre 
 Data Mart wird monatlich geladen 
 S...
Benutzerzugriff auf Core 
 Endbenutzer haben keinen 
Lesezugriff auf Core 
 Ausnahme: „Virtueller Data Mart“ 
Virtueller...
B-Tree Index oder Bitmap Index? 
2014 © Trivadis 
Indexierungsstrategie im Data Warehouse 
15. November 2011 
16
B-Tree Index oder Bitmap Index? 
 Platzbedarf von Bitmap Index ist meistens kleiner 
 Auch für Attribute mit vielen vers...
In Data Warehouse generell Bitmap Indizes 
verwenden 
 B-Tree Indizes werden nur für Primary / Unique Keys verwendet 
201...
Data Marts 
Dimensionstabellen 
 Primary Key (Unique Index) 
 Bitmap Indizes auf zusätzlichen Filter-Spalten (optional) ...
Abfrageoptimierung auf Star Schemas 
 Typische Abfragen: 
 Filterkriterien auf (mehreren) 
Dimensionstabellen 
 Fakten ...
Star Transformation 
2014 © Trivadis 
Indexierungsstrategie im Data Warehouse 
15. November 2011 
21
Bitmap Join Index 
 Bitmap Index definiert auf 
Faktentabelle 
 Indexiertes Attribut gehört zu 
Dimensionstabelle 
 Mög...
2014 © Trivadis 
Fazit 
 Staging Area, Cleansing Area, Core: Weniger ist mehr! 
 Data Marts: Einheitliche Indexierungsst...
Vielen Dank. 
Trivadis AG 
Dani Schnider 
Europa-Strasse 5 
CH-8152 Glattbrugg/Zürich 
Schweiz 
Tel. +41 44 808 70 20 
Fax...
Nächste SlideShare
Wird geladen in …5
×

Indexierungsstrategie im Data Warehouse - Zwischen Albtraum und optimaler Performance

561 Aufrufe

Veröffentlicht am

Dani Schnider, Principal Consultant bei der Trivadis AG, an der DOAG Konferenz 2011 in Nürnberg

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
561
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
9
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Indexierungsstrategie im Data Warehouse - Zwischen Albtraum und optimaler Performance

  1. 1. INDEXIERUNGS-STRATEGIE IM DATA WAREHOUSE ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE DOAG Konferenz 2011 Dani Schnider Trivadis AG Nürnberg, 15. November 2011 BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 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 2 Indexierungsstrategie im Data Warehouse 15. November 2011
  3. 3. 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 Stand 12/2012 Hamburg Düsseldorf Frankfurt Freiburg München Wien Basel Bern Zürich Lausanne 3 Stuttgart Indexierungsstrategie im Data Warehouse 15. November 2011 3
  4. 4. Kurzvorstellung Trivadis Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem solution based Software- und Product-Engineering 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: Durch unser Trainingsangebot stellen wir den Know-how-Transfer sicher. 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 4
  5. 5. Wie soll ich mein Data Warehouse indexieren? 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 5
  6. 6. Es gibt verschiedene Meinungen...  Ein DWH-System hat mehr Indizes als ein OLTP-System  Indizes machen die Abfragen schneller  Full Table Scans sind langsam  Ein Data Warehouse sollte keine Indizes haben  Indizes verlangsamen die ETL-Prozesse  Jede Tabelle muss einen Primary Key haben  Indizes sind für ein effizientes Laden der Daten notwendig  Eine OLTP-Tabelle hat 2-3 Indizes, eine DWH-Tabelle 5-6  Bitmap Indizes sind für Attribute mit wenigen Werten sinnvoll 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 6
  7. 7. DWH ≠OLTP «It depends...» 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 7
  8. 8. Data Warehouse Architektur  Wie sollen die verschiedenen Schichten im DWH indexiert werden? 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 8
  9. 9. Staging Area / Cleansing Area 2014 © Trivadis Staging Area  Keine Indizes Cleansing Area  Primary Key / Unique Key Constraints für Datenvalidierung  Oracle erstellt automatisch einen Unique Index pro PK/UK  Eventuell Index erst nach dem Laden berechnen (DISABLE / ENABLE CONSTRAINT)  Keine weitere Indizes Indexierungsstrategie im Data Warehouse 15. November 2011 9
  10. 10. Selektivität und Zugriffsmethode 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 10  Selektivität = Prozentualer Anteil der Datensätze aus einer Tabelle  Indexzugriffe sind effizient für selektive Abfragen (< 1-2% der Daten)  Gilt sowohl für B-Tree Index als auch Bitmap Index  Full Table Scans sind für nicht-selektive Abfragen effizienter  In Staging Area und Cleansing Area werden immer 100% der Daten gelesen
  11. 11. 2014 © Trivadis Core  Zweck von Core  Datenintegration von verschiedenen Quellsystemen  Historisierung und Versionierung  Datenbasis für Data Marts  Indexierung abhängig von verschiedenen Faktoren  Logischem Datenmodell (dimensional / relational)  Physischem Design (z.B. Partitionierung)  Ladefrequenz der Data Marts Indexierungsstrategie im Data Warehouse 15. November 2011 11
  12. 12. Indexierung von Core Dimensionales Core  Primary Key Constraints auf Dimensionstabellen  Oracle erstellt automatisch einen Unique Index pro PK/UK  Alternativer Ansatz: PK/UK disablen, um Index zu vermeiden  Keine Indizes auf Faktentabellen Relationales Core  Primary Key / Unique Key Constraints auf Stammdaten  Oracle erstellt automatisch einen Unique Index pro PK/UK  Alternativer Ansatz: PK/UK disablen, um Index zu vermeiden  Möglichst wenige oder keine Indizes auf Bewegungsdaten  Indexierung von Foreign Keys nicht notwendig 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 12
  13. 13. Zeitliche Extraktion aus Core Core dient als Basis zum Laden der Data Marts Initiales Laden von Data Marts  Keine Datumeinschränkung  Eventuell Filter auf aktuelle Version der Stammdaten  Bitmap Index auf VALID_TO Inkrementelles Laden der Data Marts  Filter auf Gültigkeitsintervall der Stammdaten/Dimensionen  Bitmap Index auf VALID_FROM  Filter auf Ereignisdatum der Bewegungsdaten/Fakten  Bitmap Index auf Ereignisdatum 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 13
  14. 14. Zeitliche Extraktion aus Core: Beispiel  Core enthält Daten der letzten 3 Jahre  Data Mart wird monatlich geladen  Selektivität = 1/12/3 ≈ 2.8%  Full Table Scan  Data Mart wird täglich geladen  Selektivität = 1/365/3 ≈ 0.09%  Index Scan  Besserer Ansatz: Core-Tabelle partitioniert pro Monat  Selektivitätmonatlich = 1 = 100%  Full Partition Scan  Selektivitättäglich= 1/31 ≈ 3.2%  Full Partition Scan 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 14
  15. 15. Benutzerzugriff auf Core  Endbenutzer haben keinen Lesezugriff auf Core  Ausnahme: „Virtueller Data Mart“ Virtueller Data Mart  View Layer für Benutzerzugriff auf 2014 © Trivadis Core  Zusätzliche Bitmap Indizes auf Filterkriterien notwendig Indexierungsstrategie im Data Warehouse 15. November 2011 15
  16. 16. B-Tree Index oder Bitmap Index? 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 16
  17. 17. B-Tree Index oder Bitmap Index?  Platzbedarf von Bitmap Index ist meistens kleiner  Auch für Attribute mit vielen verschiedenen Werten 350 300 250 200 150 100 50 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 17 0 10 100 1000 10000 100000 Bitmap (scattered) Bitmap (sorted) B-tree index
  18. 18. In Data Warehouse generell Bitmap Indizes verwenden  B-Tree Indizes werden nur für Primary / Unique Keys verwendet 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 18
  19. 19. Data Marts Dimensionstabellen  Primary Key (Unique Index)  Bitmap Indizes auf zusätzlichen Filter-Spalten (optional) Faktentabellen  Bitmap Indizes auf Dimensionsattributen (Foreign Keys)  Bitmap Join Indizes auf oft verwendete Filter-Spalten (optional)  Typischerweise kein Primary Key 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 19
  20. 20. Abfrageoptimierung auf Star Schemas  Typische Abfragen:  Filterkriterien auf (mehreren) Dimensionstabellen  Fakten werden durch Join mit Dimensionen selektiert 2014 © Trivadis  Problem:  Tabellen mit Restriktionen sollten zuerst gelesen werden  Es können jeweils nur zwei Tabellen gejoined werden  Keine Beziehungen zwischen Dimensionstabellen Indexierungsstrategie im Data Warehouse 15. November 2011 20 1 2 3 3 2 1
  21. 21. Star Transformation 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 21
  22. 22. Bitmap Join Index  Bitmap Index definiert auf Faktentabelle  Indexiertes Attribut gehört zu Dimensionstabelle  Möglich für Star Schemas und Snowflake Schemas 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 22
  23. 23. 2014 © Trivadis Fazit  Staging Area, Cleansing Area, Core: Weniger ist mehr!  Data Marts: Einheitliche Indexierungsstrategie  Generell Bitmap Indexes verwenden, B-Tree Indexes nur für Primary/Unique Keys  Es gibt immer begründbare Ausnahmen Indexierungsstrategie im Data Warehouse 15. November 2011 23
  24. 24. 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 BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 2014 © Trivadis Indexierungsstrategie im Data Warehouse 15. November 2011 24

×