Cover | 1 |
Titel | 3 |
Impressum | 4 |
Inhaltsverzeichnis | 9 |
1 Einführung in Data-Warehouse-Systeme | 15 |
1.1 Anwendungsszenario Getränkemarkt | 16 |
1.2 OLTP versus OLAP | 18 |
1.2.1 OLAP- versus OLTP-Transaktionen | 19 |
1.2.2 Vergleich von OLTP und OLAP | 20 |
1.2.3 Abgrenzung: DBMS-Techniken | 21 |
1.3 Charakteristika und Begriffe | 22 |
1.4 Big Data und Data Warehousing | 23 |
1.5 Aufbau des Buches | 25 |
1.6 Vertiefende Literatur | 27 |
1.7 Übungen | 28 |
2 Architektur | 29 |
2.1 Anforderungen | 29 |
2.1.1 Grobe Übersicht über Data-Warehouse-Systeme | 29 |
2.1.2 Anforderungen an die Architektur | 31 |
2.1.3 Die 12 OLAP-Regeln nach Codd | 32 |
2.1.4 Die FASMI-Anforderungen | 35 |
2.2 Datenfluss in einem Data-Warehouse-System | 36 |
2.2.1 Phasen des Data Warehousing | 36 |
2.2.2 Datenquellen | 37 |
2.2.3 Datenbereinigungsbereich | 40 |
2.2.4 Extraktionskomponenten | 41 |
2.2.5 Transformationskomponenten | 41 |
2.2.6 Ladekomponente | 43 |
2.2.7 Basisdatenbank | 43 |
2.2.8 Befüllen | 43 |
2.2.9 Der Datenwürfel | 44 |
2.2.10 Data Marts | 44 |
2.2.11 Das Data Warehouse | 45 |
2.3 Referenzarchitektur | 45 |
2.3.1 Data-Warehouse-Manager | 46 |
2.3.2 Monitore | 47 |
2.3.3 Repository | 49 |
2.3.4 Metadaten-Manager | 49 |
2.3.5 Diskussion der kompletten Referenzarchitektur | 49 |
2.4 Architektur des Data Warehouse | 50 |
2.4.1 Rolle der Data Marts | 50 |
2.4.2 Abhängige Data Marts: Nabe und Speiche | 51 |
2.4.3 Unabhängige Data Marts | 52 |
2.4.4 Föderierte und virtuelle Datenwürfel | 53 |
2.4.5 Data-Warehouse-Architektur in der Praxis | 53 |
2.4.6 Ein Multi-Schichten-Architekturansatz | 54 |
2.5 Vertiefende Literatur | 57 |
2.6 Übungen | 58 |
3 Modellierung von Data Warehouses | 59 |
3.1 Das multidimensionale Datenmodell | 59 |
3.1.1 Grundbegriffe | 59 |
3.1.2 Dimensionen | 61 |
3.1.3 Fakten und Kennzahlen | 62 |
3.1.4 Schema des multidimensionalen Datenwürfels | 64 |
3.2 Konzeptuelle Modellierung | 66 |
3.2.1 Das ME/R-Modell | 67 |
3.2.2 ADAPT | 68 |
3.3 Relationale Umsetzung | 70 |
3.3.1 Prinzip der relationalen Abbildung | 70 |
3.3.2 Snowflake-Schema | 71 |
3.3.3 Star-Schema | 73 |
3.3.4 Vergleich von Snowflake- und Star-Schema | 74 |
3.3.5 Fact-Constellation-Schema und Galaxie-Schema | 75 |
3.3.6 Alternative Modellierung von Klassifikationshierarchien | 78 |
3.3.7 Vermeidung von Semantikverlusten | 79 |
3.4 Slowly Changing Dimensions | 81 |
3.4.1 Berichtsanforderungen im Data Warehouse | 83 |
3.4.2 Typdefinitionen nach Kimball | 86 |
3.4.3 Realisierungen im Data Warehouse | 88 |
3.5 Vertiefende Literatur | 93 |
3.6 Übungen | 94 |
4 Extraktions-, Transformations- und Ladeprozess | 95 |
4.1 Qualitätsaspekte | 96 |
4.1.1 Der Datenbereinigungsprozess | 98 |
4.1.2 Duplikaterkennung | 102 |
4.1.3 Vergleichsfunktionen | 104 |
4.1.4 Beheben von Datenkonflikten | 110 |
4.2 Der ETL-Prozess | 111 |
4.3 Die Extraktionsphase | 113 |
4.3.1 Extraktionstechniken | 114 |
4.3.2 Methode des Differential Snapshot | 115 |
4.4 Die Transformationsphase | 119 |
4.4.1 Daten- und Schemakonflikte | 121 |
4.4.2 Mappings im Transformationsschritt | 123 |
4.5 Die Ladephase | 127 |
4.5.1 Verwendung des Oracle SQL-Loader | 128 |
4.5.2 Multi-Table-Insert | 130 |
4.6 Alternativer Ansatz: ELT | 132 |
4.7 Vertiefende Literatur | 133 |
4.8 Übungen | 134 |
5 Anfragen an Data-Warehouse-Datenbanken | 137 |
5.1 Einführung und Anforderungen | 137 |
5.2 OLAP-Operationen | 139 |
5.3 SQL-Operationen für das Data Warehouse | 142 |
5.3.1 Relationale Umsetzung multidimensionaler Anfragen | 142 |
5.3.2 CUBE und ROLLUP | 148 |
5.3.3 OLAP-Funktionen in SQL:2003 | 152 |
5.4 MDX | 159 |
5.5 Vertiefende Literatur | 165 |
5.6 Übungen | 166 |
6 Speicherung | 167 |
6.1 Speicherung des Datenwürfels: Array vs. Relationen | 167 |
6.1.1 Relationale Implementierung – ROLAP | 168 |
6.1.2 Implementierung als Array – MOLAP | 170 |
6.1.3 Vergleich ROLAP und MOLAP-Speicherung | 174 |
6.1.4 Hybride Speicherung – HOLAP | 177 |
6.1.5 Alternative Speicherungsformen | 178 |
6.2 Partitionierung | 181 |
6.2.1 Partitionierung in relationalen Datenbanken | 181 |
6.2.2 Partitionierung in Data Warehouses | 184 |
6.2.3 Partitionierung von Datenwürfeln | 185 |
6.3 Spaltenorientierte Datenhaltung | 190 |
6.3.1 Basisideen der spaltenorientierten Datenhaltung | 190 |
6.3.2 Operationen und Anfragen in spaltenorientierter Datenhaltung | 191 |
6.3.3 Speichervarianten in spaltenorientierter Datenhaltung | 193 |
6.4 Hauptspeicherdatenbanken | 199 |
6.4.1 Was sind Hauptspeicherdatenbanken? | 199 |
6.4.2 Technologien aktueller Hauptspeicherdatenbanken | 201 |
6.4.3 Komprimierung von Daten | 202 |
6.4.4 Delta-Relationen | 204 |
6.5 Vertiefende Literatur | 205 |
6.6 Übungen | 206 |
7 Indexstrukturen | 209 |
7.1 Klassifikation von Indexstrukturen | 209 |
7.2 B-Bäume und Varianten | 212 |
7.2.1 Der B+-Baum | 213 |
7.2.2 Degenerierte B-Bäume | 214 |
7.2.3 Ordnungsabhängigkeit in B-Bäumen | 215 |
7.2.4 B+-Baum-Tricks: Oversized Index | 216 |
7.2.5 B+-Baum-Tricks: Berechnete Indexe | 217 |
7.3 Bitmap-Indexe | 217 |
7.3.1 Prinzip von Bitmap-Indexen | 218 |
7.3.2 Bitmap-Index: Realisierung | 219 |
7.3.3 Standard-Bitmap-Index | 220 |
7.3.4 Mehrkomponenten-Bitmap-Index | 221 |
7.3.5 Bereichskodierter Bitmap-Index | 222 |
7.3.6 Mehrkomponenten-bereichskodierter Bitmap-Index | 222 |
7.3.7 Intervallkodierte Indexierung | 224 |
7.3.8 Auswahl von Bitmap-Indexstrukturen | 225 |
7.4 Verbundindexe | 226 |
7.4.1 Prinzip des Verbundindex | 226 |
7.4.2 Bitmap-Verbundindex | 227 |
7.5 Mehrdimensionale Indexstrukturen | 228 |
7.5.1 Grid-File | 228 |
7.5.2 Mehrdimensionales Hashen MDH | 230 |
7.5.3 KdB-Baum | 231 |
7.5.4 R-Bäume | 232 |
7.5.5 Varianten von R-Bäumen | 234 |
7.5.6 Der UB-Baum | 235 |
7.6 Indexierung von Hierarchien | 240 |
7.6.1 Kodierung von Hierarchien | 240 |
7.6.2 Mehrdimensionales hierarchisches Clustering | 241 |
7.7 Vertiefende Literatur | 242 |
7.8 Übungen | 243 |
8 Anfrageverarbeitung und materialisierte Sichten | 245 |
8.1 Anfrageplanung | 245 |
8.1.1 Überblick | 246 |
8.1.2 Star-Join-Optimierung | 248 |
8.2 Berechnung des CUBE-Operators | 251 |
8.3 Materialisierte Sichten | 255 |
8.3.1 Anfragebeantwortung mit materialisierten Sichten | 256 |
8.3.2 Auswahl materialisierter Sichten | 264 |
8.3.3 Aktualisierung materialisierter Sichten | 266 |
8.3.4 Materialisierte Sichten in aktuellen DBMS | 271 |
8.4 Vertiefende Literatur | 274 |
8.5 Übungen | 275 |
9 Business-Intelligence-Anwendungen | 277 |
9.1 Business Intelligence | 278 |
9.1.1 Begriffsklärung | 278 |
9.1.2 Knowledge Discovery | 282 |
9.1.3 Datenanalyse | 285 |
9.2 Reporting | 286 |
9.2.1 Balanced Scorecard | 289 |
9.2.2 Navigation im Datenwürfel für Ad-hoc-Reporting | 291 |
9.3 Data Mining im BI-Umfeld | 293 |
9.3.1 Warenkorbanalyse | 295 |
9.3.2 Kunden-Clustering | 303 |
9.3.3 Klassifikationsverfahren | 307 |
9.3.4 Zeitreihenanalyse & Prognose | 311 |
9.3.5 Data Mining Extensions | 313 |
9.4 Vertiefende Literatur | 315 |
9.5 Übungen | 316 |
Abbildungsverzeichnis | 319 |
Tabellenverzeichnis | 325 |
Sachindex | 326 |
Literaturverzeichnis | 333 |