Data Warehouse Referenz Architektur_Juni_2006

Werbung
Data Warehouse Referenzarchitektur
Copyright © 2005 by Oracle Corporation. All rights reserved
1/166
Data Warehouse Referenzarchitektur
Autor:
Historie:
Alfred Schlaucher
Version 4 Oktober 2006
Version 3 Mai 2005 (Draft)
Version 2 Januar 2005
Version 1 Mai 2004
Korrekturen, Empfehlungen, Kommentare bitte direkt an
[email protected]
Copyright © 2005 by Oracle Corporation. All rights reserved
2/166
Data Warehouse Referenzarchitektur
3/166
Die Themen
1
“Viele Wege führen nach Rom”... ................................................................................ 7
1.1
Zu dieser Referenzarchitektur ..................................................................................... 7
1.2
Oracle Data Warehouse Referenz Architektur .......................................................... 10
1.2.1
Architektur ist Garant für eine effiziente Warehouse Plattform .............................. 10
1.2.1.1
Herausforderungen ............................................................................................. 10
1.2.1.2
Plattformbetrachtung statt Point Solution ............................................................ 10
1.2.2
Bestandteile und Gegenstand der Referenzarchitektur ......................................... 13
1.2.3
Ziel und Zweck der Referenzarchitektur................................................................. 13
2
Aktuelle Anforderungen an Data Warehouse Systeme ............................................. 14
2.1
Operationalisierung des Data Warehouse................................................................. 15
2.2
Serverbasiertes, zentrales Data Warehouse ............................................................ 16
2.3
Abdecken auseinanderdriftender Benutzeranforderungen ........................................ 17
2.4
Prozess - Unabhängigkeit des Data Warehouses ..................................................... 18
2.5
Auf Dauer gebaut - auf Langlebigkeit des Warehouses achten ................................ 19
2.6
Technologische Anforderungen ................................................................................. 20
2.7
Bereitstellen von Informationen für Benutzer ............................................................ 20
2.7.1
Flexible Auswertemodelle ...................................................................................... 20
2.7.2
Feste Kennzahlen................................................................................................... 22
3
Projekt und Projektmanagement ............................................................................... 23
3.1
Inkrementelle Entwicklung Software Entwicklung ..................................................... 23
3.2
Modelle sichern das Projekt ab ................................................................................. 24
3.3
Parallele Schichtenentwicklung ................................................................................. 25
3.3.1
Dokumentation ....................................................................................................... 26
3.3.2
Namenskonventionen ............................................................................................. 26
3.3.3
Templates ............................................................................................................... 27
4
Grundsätzliches Vorgehen zum Aufbau des Warehouse Systems .......................... 28
4.1
„Chaos in allen Gassen“ ............................................................................................ 28
4.2
Informationsplan ........................................................................................................ 28
4.2.1
In welcher Form können Informationen dokumentiert werden ............................... 28
4.3
Schichtenmodell ........................................................................................................ 29
4.3.1
Aufwand nur einmal leisten .................................................................................... 31
4.3.2
Begriffsabgrenzung „Schichtenmodell“ und „Hub and Spoke“ ............................... 32
4.3.3
Den Wechsel relationales / multidimensionales Speichern durchbrechen ............ 33
4.3.4
Wahlfrei den Ort einer Analyse bestimmen ............................................................ 34
4.4
Transformationen ....................................................................................................... 35
4.4.1
Wahlfrei den Ort der Transformation bestimmen ................................................... 35
4.4.2
Durchgängige Verwendung der Datenbanksprache (SQL) ................................... 36
4.4.3
Ladeprozess einfach und kompakt halten .............................................................. 37
4.4.4
Durch Datenbank basierten Ladeprozess Ressourcen schonen ........................... 37
4.4.4.1
Zur Historie: ......................................................................................................... 38
4.4.4.2
Nachteile Engine – basierter ETL - Tools ........................................................... 39
4.4.4.3
Gründe für die Verlagerung des Ladeprozesses in die Datenbank .................... 40
4.4.4.4
Performance schaffen durch Mengen – basierte Transformationen................... 41
4.4.4.5
Explizite Techniken zum Laden großer Datenmengen innerhalb von Oracle
Datenbanken
42
4.4.4.6
Partition Exchange And Load (PEL) ................................................................... 43
4.4.5
Skalierungsanforderungen durch intelligentes Datenmanagement lösen.............. 44
4.4.6
Mit verteilten Architekturen den Ladeprozess flexibel halten und Netzlast
minimieren
46
4.4.7
Keine versteckten oder geschachtelte Transformationen verwenden ................... 47
4.4.8
Ladeläufe sollten umkehrbar und wiederholbar sein.............................................. 47
4.4.8.1
Einsatz von Partitioning. ...................................................................................... 47
4.4.8.2
Kennzeichnung von geladenen Daten ................................................................ 48
4.4.8.3
Commit – Setzung ............................................................................................... 48
4.4.8.4
Umkehrung von Updates und Deletes ................................................................ 48
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
4/166
4.4.8.5
Wiederholung von Ladeläufen ............................................................................ 48
5
Aufbau der Schichten des Data Warehouses ........................................................... 49
5.1
Aufbau Sammelschicht / Staging Area ...................................................................... 49
5.1.1
Orphan Management ............................................................................................. 49
5.2
Aufbau Warehouse Schicht ....................................................................................... 50
5.2.1
Referenzdaten ........................................................................................................ 50
5.2.2
Stammdaten ........................................................................................................... 50
5.2.3
Bewegungsdaten .................................................................................................... 50
5.2.4
Historisierung in der Warehouse – Schicht ............................................................ 50
5.2.5
Abgrenzung zum Operational Data Store .............................................................. 51
5.2.6
Auswertungen direkt in der Warehouse - Schicht .................................................. 51
5.2.7
Funktionale Bestandteile der Warehouse – Schicht .............................................. 52
5.2.8
Security – Aspekte in der Warehouse - Schicht ..................................................... 52
5.3
Aufbau Auswerteschicht ............................................................................................ 53
5.3.1
Allgemeine Empfehlungen ..................................................................................... 53
5.3.2
Durch Granularisierung mehr Informationsvorrat und damit mehr Flexibilität........ 54
5.3.3
Data Mart ................................................................................................................ 55
5.3.4
Starschema ............................................................................................................ 55
5.3.4.1
Empfehlungen für den Aufbau der Dimensionen ................................................ 56
5.3.4.2
Indizierung und Schlüssel beim Aufbau der Dimensionen ................................. 58
5.3.4.3
Künstliche und originäre Schlüssel ..................................................................... 59
5.3.4.4
Verwendung von Btree und Bitmap – Indizes ..................................................... 60
5.3.4.5
Empfehlungen für den Aufbau der Faktentabelle ............................................... 60
5.3.4.6
Satzübergreifende Konsistenz in der Faktentabelle ........................................... 61
5.3.5
Einsatz von Materialized Views anstelle von Summentabellen ............................. 62
5.3.5.1
Vorteile von Materialized Views im Warehouse – Kontext ................................. 62
5.3.6
Bedienen unterschiedlicher Zielgruppen im Unternehmen .................................... 64
5.3.7
Umgang mit großen Faktentabellen ....................................................................... 65
5.3.8
Die Verwendung multidimensionaler Speichermodelle im Data Mart .................... 65
5.3.8.1
Sparsity ............................................................................................................... 66
5.3.8.2
Multidimensionale Speicherzellen und Materialized Views ................................ 67
5.3.8.3
Komplexität von Strukturen und Abfragen .......................................................... 67
5.3.8.3.1
Umgang mit unbalancierten Hierarchien ......................................................... 67
5.3.8.3.2
Komplexe Abfragen mit Zwischenergebnissen................................................ 70
5.3.8.4
Gegenüberstellung multidimensionaler und relationaler Datenhaltung .............. 70
5.3.8.5
Regeln im Umgang mit multidimensionaler und relationaler Datenhaltung ........ 71
5.3.8.6
Entscheidung leicht gemacht – Schneller Wechsel zwischen den Systemen .... 72
5.4
Umgang mit Partitions ............................................................................................... 73
5.4.1
Empfehlungen im Umgang mit Partitionen ............................................................. 74
6
Organisation und Aufbau von Ladeläufen und Transformationen ............................. 75
6.1
Spezielle Ladeverfahren für einzelne Warehouse – Bereiche .................................. 75
6.1.1
Informationsbeschaffungsprozess in der Übersicht ............................................... 75
6.1.2
Entgegennehmen der Daten .................................................................................. 75
6.1.2.1
Prüfen und Konsolidieren: ................................................................................... 76
6.1.2.2
Prüfen und Protokollieren .................................................................................... 76
6.1.2.3
Kennzeichnung von Daten .................................................................................. 78
6.1.2.4
Deltadatenerkennung .......................................................................................... 79
6.1.3
Normalisieren – der Weg in die Warehouse Schicht .............................................. 80
6.1.4
Denormalisieren – Aufbereiten für die Endbenutzer .............................................. 80
6.1.5
Laden von Faktentabellen ...................................................................................... 80
6.1.6
Laden von Dimensionstabellen .............................................................................. 81
6.1.7
Das Laden von künstliche Schlüsseln – Das Umschlüsseln .................................. 83
6.1.8
Optimistisches und Pessimistisches Laden von Dimensionsdaten in Abhängigkeit
von Faktdaten
84
6.2
Management des Ladeprozesses (Workflow) ........................................................... 86
6.2.1
Aufgaben des Ladeprozesses ................................................................................ 86
6.2.2
Struktur des Ladeprozesses ................................................................................... 86
6.2.3
Interaktion mit anderen Systemen und Automatisierung ....................................... 87
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
5/166
7
Mehrfachverwendung von Bereichen und Objekten ................................................. 89
7.1
Verteilte (Mehrfach-) Verwendung von Data Mart Strukturen ................................... 91
7.2
Verwaltung gemeinsam genutzter Tabellen .............................................................. 92
7.2.1
Nutzerübergreifende, organisatorische Abstimmungen ......................................... 93
8
Metadaten 95
8.1
Metadaten im Warehouse - Umfeld ........................................................................... 95
8.1.1
Beispiele für Einsatzfelder der Metadaten ............................................................. 96
8.1.1.1
Warehouse Handbuch ........................................................................................ 96
8.1.1.2
Glossare und Definitionen ................................................................................... 97
8.1.1.3
Betriebshandbuch ............................................................................................... 97
8.1.1.4
Berichtsverifizierung / Legenden ......................................................................... 97
8.1.1.5
Aktualitätsscheck ................................................................................................ 97
8.1.2
Einmaliges, zusammenhängendes Speichern von Metadaten .............................. 98
8.1.3
Design – Time Metadaten ...................................................................................... 99
8.1.4
Runtime – Metadaten ............................................................................................. 99
8.1.5
Neutralität der Modelle gegenüber der physischen Implementierung .................... 99
8.2
Erweiterbarkeit des Metadaten - Repositories......................................................... 100
8.3
Automatisiertes Pflegen der Metadaten .................................................................. 100
8.3.1
Zusätzliche Verwaltungsinformationen................................................................. 101
9
Operativ genutzte Warehouse – Daten ................................................................... 102
9.1
Szenarien und Problembereiche bei operativ genutzten Warehouses ................... 102
9.1.1
Einsatzszenarien operativ genutzter Warehouses ............................................... 103
9.2
Operational Data Store Konzept .............................................................................. 104
9.3
Verfahren für aktivere Rollen des Warehouses (Realtime / Loop Back) ................. 106
9.3.1
Der Datenfluss im Real Time / Loopback Warehouse ......................................... 107
9.3.2
Organisatorisch – technische Anforderungen ...................................................... 108
9.3.3
Hochverfügbarkeit von Near Realtime - Systemen .............................................. 109
9.3.4
Event gesteuertes Warehouse ............................................................................. 109
9.3.4.1
Simulation von Event – gesteuerten Arbeitsphasen ......................................... 110
9.3.4.2
Testdaten .......................................................................................................... 110
9.3.5
Durch einheitliche Metadaten die Kontrolle bewahren ......................................... 110
9.3.6
Datenschutz und nicht Zugriffsschutz .................................................................. 110
9.3.7
Messagebasiertes Laden versus Batchbetrieb in der Datenbank ........................ 111
9.3.8
Entkopplung von ETL und Berichtserstellung ..................................................... 112
9.3.9
Vergleichbarkeit der Berichte (Aktualität) ............................................................. 113
9.3.10
Zusammenfassende allgemeine Empfehlungen .................................................. 114
10
Wo wird historisiert .................................................................................................. 115
10.1.1
Historisierungsverfahren ...................................................................................... 116
10.1.2
Historisierung in der Warehouse - Schicht ........................................................... 117
10.1.3
Abschließendes Konzept zur Historisierung ........................................................ 118
11
Minimieren von Hardware – Aufwenden.................................................................. 119
11.1
RAC sinnvolle Voraussetzung für neue Architekturen im Data Warehouse .......... 119
11.2
Kostenvorteile durch Verbund kleinerer Systeme ................................................... 119
11.3
Integration von Daten und Funktionsbereichen ....................................................... 120
11.4
Integration von Datenhaltungs- und Datenbewegungsaufgaben (Funktionale
Integration)
121
11.5
Kostenminimierung durch zentralisiertes Analysieren ............................................. 122
11.6
Einsparen von Hardware für separate Auswertelösungen ...................................... 124
11.7
Gemeinsame Ressourcennutzung .......................................................................... 124
12
Verfahren für das Backup und Recovery (B+R) im Data Warehouse ..................... 127
12.1
Backup und Recovery im Data Warehouse............................................................. 127
12.2
Was wird alles gesichert? ........................................................................................ 128
12.3
Logging / Nologging ................................................................................................. 128
12.3.1
Nach dem Laden sichern – Kein Rollback nach Nolog - Aktionen ....................... 128
12.3.2
RMAN spart viel Arbeit ......................................................................................... 129
12.3.3
Read Only Tablespaces ....................................................................................... 130
12.3.4
Read Only Tablespaces und Partitioning ............................................................. 130
12.4
Beispiele für B+R Szenarien mit ETL Mitteln oder RMAN (NOLOGGING) ............. 131
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
6/166
12.4.1
Recovery – Strategie mit ETL – Mitteln: ............................................................... 131
12.4.2
Recovery – Strategie mit RMAN: ......................................................................... 131
13
Zusammenfassung .................................................................................................. 132
14
Anhang
134
14.1
Elf vermeidbare Fehler und Tipps für erfolgreiche Data Warehäuser .................. 134
14.2
Gründe für die Einführung eines Data Warehouses ................................................ 135
14.2.1
Nutzenpotentiale im Data Warehouse.................................................................. 135
14.3
Checkliste zur Optimierung der Warehouse Systeme ............................................. 136
14.3.1.1
Platten 136
14.3.1.2
Partitions ........................................................................................................... 136
14.3.1.3
Materialized Views ............................................................................................ 137
14.3.1.3.1
Allgemeine Hinweise...................................................................................... 137
14.3.1.3.2
Prüfungen auf Zustände ................................................................................ 137
14.3.1.3.3
Systemparameter ........................................................................................... 137
14.3.1.3.4
Rewrite Methoden .......................................................................................... 138
14.3.2
Hilfsmittel Datenbankoptimierung ......................................................................... 139
14.4
Glossar
142
14.5
Abbildungsverzeichnis ............................................................................................. 158
14.6
Index
162
14.7
Kommentare und Ergänzungen: .............................................................................. 166
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
7/166
1 “Viele Wege führen nach Rom”...
Aber es gibt meistens einen kürzeren und bequemeren Weg.
1.1
Zu dieser Referenzarchitektur
Diese Referenzarchitektur ist aus zwei Gründen erstellt worden:
Der erste Grund: Ideen weiter geben:
Oft investieren Projektteams sehr viel Zeit in das technische und methodische
Konzept eines neuen Systems, obwohl die Methoden und Wege längst in bereits
durchgeführten Projekten erkundet sind. Dabei gibt es kaum eine Technologie, die
so einfach durch Regeln zu standardisieren ist, wie die Data Warehouse
Technologie. Das macht sich diese Referenz – Architektur zu Nutzen. Sie setzt auf
die Übertragbarkeit von Verfahren bei ähnlichen Anforderungen. Dies gelingt vor
allem deswegen, weil der technische Rahmen durch die Oracle Datenbank
vorgegeben ist.
Der zweite Grund: endlich nutzen was man schon hat, die Datenbank! :
Mittlerweile existiert bereits das Release 10g von der Oracle Datenbank. Das ist das
3. Release in Folge, in dem massiv Features in die Datenbank integriert wurden, die
hauptsächlich für das Data Warehouse interessant sind. Die Oracle Datenbank ist
damit längst die Datenbank mit dem höchsten Komfort bei der Lösung von
Warehouse – spezifischen Anforderungen. Aber viele Oracle – basierte Warehouse
– Systeme arbeiten heute noch so, wie zu Zeiten einer Oracle 7 oder 8 Datenbank.
Die Referenzarchitektur soll dazu anregen, die Oracle Datenbank als echte
Warehouse Plattform einzusetzen.
Zum Umdenken anregen
Es ist allerdings nicht nur der Einsatz von Materialized Views oder der Einsatz des
Partitioning, um das volle Potential des jüngsten Datenbank – Releases
auszunutzen. Es ist das Ausnutzen dieser Features um aktuelle Anforderungen in
den heutigen Warehouse Prozessen zu lösen. Mit den neuen technischen
Möglichkeiten im Hintergrund sollten alte Warehouse – Architektur – Konzepte
hinterfragt werden. Oft ist das, was als feststehende „Wahrheit“ angenommen wird,
nichts anderes als ein Relikt einer Zeit, in der es eben keine besseren Möglichkeiten
gab. So finden sich heute noch massenweise Summentabellen die eigens gepflegt
und mit Programmen gefüllt werden, anstatt sie endlich durch Materialized Views zu
ersetzen. Mit effizienterem SQL können separate Ladeprogramme ersetzt werden.
Das spart Tausende Euro und ist zudem noch effizienter. Anstatt Aufgaben
intelligent durch bereits bezahlte Datenbankfeatures zu lösen, wird zusätzlich in
Hardware investiert was dann auch noch zusätzliche Folgekosten verursacht.
Das sind nur wenige Beispiele.
Aber diese Beispiele haben es bereits in sich, denn bei genauerem Hinsehen hat
der konsequente Einsatz dieser Architekturempfehlungen Auswirkungen auf das
gesamte Warehouse – Design. Die Empfehlungen provozieren Fragestellungen und
Entscheidungen wie:
 Wie viele redundante Tabellen erlaubt man?
 Wie viele Ladeschritte sind wirklich nötig?
 Wie schnell ist ein Warehouse mit neuen Daten befüllt?
 An welchen Stellen wird der Aufbau von Berichten vorbereitet?
 Wie viel Hardware Maschinerie braucht man wenn man das Datenbank –
basierte oder das externe ETL anwendet?
Oft wird das Thema Architektur auf die Kombination von Warehouse – Tools
reduziert. Dabei sind Data Warehouse Architekturen längst mehr als das klassische
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
8/166
Dreigestirn “Datenbank / ETL / Reporting“ zu betrachten. Die Sichtweise auf Tools
und isolierte Warehouse - Segmente versperrt den Blick auf die eigentliche
Aufgabenstellung der Informationsaufbereitung. Wer heute noch in separaten
Kategorien wie ETL, Reporting und Datenhaltung denkt, versperrt sich den Weg für
neue Ansätze. Will man die Aufgabe ganzheitlich effizient lösen, so muss man über
alle drei Bereiche „quer hinweg“ denken.
„Aber bitte keine Features...“
Hier sollte allerdings nicht noch eine Auflistung aller Warehouse – Features von
Oracle 7 bis Oracle 10g erfolgen. Dazu gibt es genügend Material, insbesondere
den sehr empfehlenswerten Warehouse Guide als Bestandteil der Datenbank
Dokumentation.
Was allerdings immer wieder nachgefragt wird, ist eine Auflistung von sog. „Best
Practices“ für den Aufbau eines Warehouse Systems. Es fehlt an konkreten
Empfehlungen, an Wegbeschreibungen, an einer Auflistung von Verfahren und
Methoden. Hier geht es um das „Wie wird was gemacht im Warehousing“.
An wen wendet sich die Referenzarchitektur:
Das Data Warehouse wird hier als fachneutrale Technologie zur Bereitstellung von
Informationen verstanden. Diese Technologie ist notwendige Basis für die darauf
aufbauende Business Intelligence Anwendungen, die ihrerseits eine fachspezifische
Zielrichtung verfolgen. Business Intelligence Anwendungen werden jedoch nur am
Rand erwähnt, z. B. wenn es um die Forderung nach einer flexiblen und effizienten
Datenbasis geht. So richtet sich diese Referenzarchitektur an denjenigen
Mitarbeiter, der unternehmensweit einzusetzende Oracle basierte Data Warehouse
Systeme entwerfen und aufbauen.
Wie kann man das Dokument nutzen:
Wir wollen alle nicht so Text lesen. Am liebsten wollen wir schnell überfliegen und
dennoch genau wissen, was gemeint ist. Um das leichter zu machen, sind viele
Zwischenüberschriften gewählt und viele Graphiken genutzt worden. D. h. es eignet
sich auch zum Nachschlagen. Einzelne Kapitel kann man losgelöst von anderen
lesen, auch wenn sich generell der rote Faden des Integrationsgedankens durch die
meisten Kapitel zieht und es einige Querverweise gibt.
Die Themen:
[Abschnitt 2]
Zunächst werden aktuelle Anforderungen an Data Warehouse Systeme von heute
vorgestellt. Diese haben sich in den Jahren seit der Einführung solcher Systeme vor
ca. 15 Jahren gewandelt.
[Abschnitt 3]
Warehouse – spezifische Besonderheiten in der Projektarbeit folgen.
[Abschnitt 4]
Die eigentliche Architekturbeschreibung von Warehouse Systemen folgt erst ab
Abschnitt 4. Hier werden zunächst grundsätzliche Verfahren vorgestellt.
[Abschnitt 5]
Der detaillierte Aufbau des Warehouses mit seinen verschiedenen Schichten folgt
separat in der Reihenfolge in der Daten durch das Warehouse wandern.
[Abschnitt 6]
Ist die statische Struktur vorgestellt, wird auf spezielle Ladeverfahren eingegangen.
Die Beschreibung der statischen Struktur und die Darstellung von Ladevorgängen
kann allerdings nicht immer klar voneinander getrennt werden.
[Abschnitt 7ff]
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
9/166
Weitere Spezialthemen wie verteilte Datenhaltung, Umgang mit operativen Daten,
Realtime Warehouse, Verfahren zu Backup und Recovery, Einsatz von Hardware
runden die Thematik ab.
[Abschnitt 13]
Ein kleines abschließendes Kapitel fasst die Referenzarchitektur noch einmal
zusammen.
Am Ende des Dokuments werden Sie aufgefordert ein Resümee zu ziehen und
Dinge, die Sie anders sehen mitzuteilen. Vielleicht entsteht ein Dialog, der Sie und
uns einen Schritt weiter bringt.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
1.2
10/166
Oracle Data Warehouse Referenz Architektur
1.2.1 Architektur ist Garant für eine effiziente Warehouse
Plattform
1.2.1.1 Herausforderungen
Data Warehouse Systeme gehören mittlerweile zur Standardausstattung moderner
IT – Landschaften. Längst sind die Systeme aus den Nischen einzelner Abteilungen
und dedizierter Aufgabenstellungen herausgetreten. Sie stellen heute zentrale
Drehscheiben der Daten- und Informationsversorgung für eine Vielzahl anderer
Systeme dar. Die Bedeutung des Data Warehouse – Konzeptes ist in den Jahren
stark gewachsen. Im Zuge der Optimierung der IT – Systeme muss sich das Data
Warehouse aber gleichzeitig einer peniblen Effizienzbetrachtung unterwerfen. Aus
diesem Grund ist auch die Betrachtung einer besonders effizienten Architektur
wichtig geworden.
Mehr noch: Ein besonderes Architektur – Design kann nicht nur Auswirkungen auf
die Effizienz des Warehouse – Systems selbst, sondern in jüngster Zeit auch auf die
umliegenden Systeme haben. Dieser Aspekt ist umso wichtiger, je mehr das Data
Warehouse mit klassischen, operativen Anwendungen zusammen wächst und die
Grenzen verwischen. Drei Faktoren treiben die Effizienzbetrachtung moderner
Warehouse – Architekturen:
1. Zunehmend
heterogene
Benutzerstrukturen
(Endabnehmer
der
Informationen) lassen die Anforderungen auseinanderdriften.
2. Zunehmend komplexere Anwendungslandschaften und damit vielfältigere
Quellenstrukturen.
3. Zunehmende
Verflechtung
von
Unternehmensprozessen
(Partnerunternehmen inbegriffen) führen zu einer Vervielfachung von
relevanten Informationen und stärkere Absicherung der Qualität von
Informationen über Prozessgrenzen hinweg.
1.2.1.2 Plattformbetrachtung statt Point Solution
Data Warehouse Systeme sind mehr als nur einzelne Werkzeuge oder Programme.
Ein Warehouse System besteht aus einer Reihe von auf einander abgestimmten
Komponenten, die durch ihr Zusammenspiel eine Warehouse Plattform ergeben.
Die isolierte Betrachtung einzelner Komponente ignoriert Wechselwirkungen zu
anderen Komponenten und ist mit Flexibilitätsverlust zu bezahlen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
11/166
Warehouse – Plattform – mehr als nur eine Sammlung von Komponenten
Eine wirkungsvolle Warehouse Plattform hat vor allem die Aufgabe die zunehmend
vielschichtigeren Benutzergruppen mit Informationen aus mehr und mehr komplexer
werdenden Datenbergen in den Unternehmen zu versorgen.
Zur Data Warehouse Plattform gehören:
Was gehört alles zu einer Warehouse – Plattform:








Analysewerkzeuge
zur
Unterstützung
unterschiedlicher
Zielgruppen
(Management, Fachmitarbeiter z. B. Controller / Planer, Mitarbeiter aus
operativen Frontline – Prozessen).
Extraktionsmittel zum Sammeln von Daten aus immer komplexer werdenden
Systemlandschaften (Räume, Systeme, Anwendungen..).
Warehouse – Architektur – Konzept (Schichtenmodell).
Warehouse – Management (Steuerung, Verwaltung, Workflow - Prozesse).
Infrastruktur zum Integrieren von Warehouse – Funktionen in die allgemeine
Systemlandschaft.
Auswertemodelle
mit
Branchenfokus
zur
Unterstützung
von
Auswertethemengebieten.
Business Intelligence Anwendungen (z. B. Balanced Scorecard, Lösung für
Finance Controlling...).
Technische und fachliche Metadaten.
An zentraler Stelle liefert die Warehouse Architektur entscheidende
Voraussetzungen für alle anderen Komponenten. Ohne eine sinnvolle Warehouse
Architektur kann z. B. eine Business Intelligence Anwendung ihre volle
Leistungsfähigkeit nicht ausreichend entfalten, weil nicht schnell genug die richtigen
Daten bereit stehen.
Die hier vorliegende Referenz - Data Warehouse Architektur erfüllt diesen Anspruch.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
12/166
Data Warehouse – Architektur – Rückgrat einer effizienten Data Warehouse Lösung
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
13/166
1.2.2 Bestandteile und Gegenstand der Referenzarchitektur
In der Referenzarchitektur zu dem Oracle Data Warehouse sind enthalten:
 Verfahrensempfehlungen und Regeln zu dem Aufbau eines Data
Warehouse Systems auf der Basis der Oracle Warehouse – Technologie.
 Eine Auflistung und Beschreibungen der wesentlichen Komponenten mit
ihren Funktionen.
 Erklärungen über das Zusammenspiel der Komponenten der Oracle
Warehouse Plattform.
Diese Referenzarchitektur ist kein Ersatz für die Oracle Warehouse –
Dokumentation, sondern eine Sammlung von Empfehlungen auf der Basis von
Praxiserfahrungen durchgeführter Projekte bzw. aufgrund von Reviews zu
bestehenden Warehouse - Systemen. (Hier noch einmal der Hinweis auf die Oracle
Dokumentation 10g („Warehouse Guide“.)
1.2.3 Ziel und Zweck der Referenzarchitektur
1. Viele auf einer Oracle Datenbank basierende Warehouse – Systeme,
nutzen nur einen Teil der in der Oracle Warehouse Plattform zur Verfügung
stehenden Funktionalität. Funktionalität wird oft zu gekauft, obwohl sie
bereits in der Oracle Plattform vorhanden ist. In manchen Fällen erzwingt
diese zusätzliche Funktionalität sogar eine Architektur, die das optimale
Ausnutzen der Oracle Warehouse – Plattform verhindert. Obwohl
zusätzliche finanzielle Mittel aufgewendet wurden, um diese Funktionalität
zu erwerben, ergeben sich in der Summe durch den Mix der
Funktionalitäten Nachteile. Diese Referenzarchitektur soll helfen, solche
Architektur – Anomalien aufzudecken. Ziel ist das
o möglichst effiziente Nutzen aktueller Oracle Warehouse –
Funktionen und
o damit verbunden das Minimieren von Ressourcen – und
Kostenaufwand und
o das Erreichen einer auf echte Anforderungen abgestimmten und
durchdachten Architektur.
2. Ein weiteres wichtiges Ziel ist die Verringerung von Projektaufwand. Die
Architekturbestandteile von Data Warehouse – Projekten muss das
Projektteam nicht immer wieder neu erfinden. Architekturen sind immer
wiederkehrend gleich und sollten als Standards abrufbar sein. Das
Projektteam kann sich auf fachspezifische Anforderungen konzentrieren.
3. Die hier vorgestellte Architektur zielt auf einen unternehmensweiten Einsatz
der Warehouse – Technologie ab. Ziel ist daher auch die Harmonisierung
von unternehmens – und fachgruppenspezifischen Interessen. In vielen
Unternehmen entstand in den vergangenen Jahren ein Wildwuchs sog. Data
Marts. Die Folge sind wuchernde Kosten und nicht stimmige
Auswerteergebnisse. Die hier vorliegende Architektur entwickelt einen
Vorschlag zur Lösung dieses Konfliktes.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
14/166
2 Aktuelle Anforderungen an Data
Warehouse Systeme
Auch wenn sich das Data Warehouse in vielen Unternehmen als Standardverfahren
etabliert hat, unterliegt es einem ständigen, technologischen Wandel. Verständlich,
denn die Anforderungen in den Unternehmen ändern sich unter dem regelmäßigen
Einfluss der wirtschaftlichen Rahmenbedingungen und Strategien.
1. CRM – Systeme und neue Kunden-Services oder genau ausbalancierte
Beschaffungsprozesse benötigen vermehrt Daten, wie sie nur in Warehouse
Systemen zu finden sind. Es sind z. B. strategisch verstandene Referenzdaten,
die sich nicht mehr einem konkreten Kunden oder Lieferanten zuordnen lassen,
aber taktisches Handeln und Tun dennoch bestimmen. Waren Data Warehouse
Systeme in der Vergangenheit nur Konsumenten von Daten aus operativen
Unternehmensanwendungen, so übernehmen sie heute oft eine neue Rolle als
Informationslieferant für die operativen Systeme. Sie sind selbst Glieder von
Prozessketten
geworden
(Operationalisierung
des
Warehouses).
2. Ein zweiter Trend ist die „Entprivatisierung“ der Data Marts. Entstanden in der
Vergangenheit kleine, isolierte Business Intelligence Systeme mit einem fest
umrissenen Aufgabenbereich, so versuchen Unternehmen heute diese „BI –
Inseln“ aufgrund von Kostenkonsolidierung und Standardisierungsbemühungen
in den Rahmen einer einheitlichen Warehouse – Strategie einzubetten.
Abteilungsübergreifende Synergieeffekte sind erwünscht. Das Wissen einer
Abteilung ist nicht länger Privatbesitz, es soll auch anderen Abteilungen zur
Verfügung stehen. Warehouse Systeme werden in ein breit angelegtes
Knowledge Management Konzept eingebettet. Damit ist das Data Warehouse
als Teil eines umfangreicheren Informationshaushalts zu planen. Es wird wichtig
zu überlegen, an welchen Stellen im Unternehmen Informationen entstehen und
wie sie bereit zu stellen sind. Informationsflüsse sind vielfältiger. Es reicht nicht
mehr, einem Controller am Monatsende eine Tabelle mit aktuellen
Wertepositionen zu geben. Der Controller ist nicht mehr allein im Warehouse
und seine Daten nicht mehr allein seine Daten.
Die Folgen sind:







Breitere Nutzergruppen, vermehrt Fachanwender der operativen
Geschäftsprozesse (taktische Ebene) und damit
vermehrt Einzelabfragen auf Warehouse – Daten.
Vermehrt Detaildaten in dem Warehouse (Detaillierung auf dem Level der
operativen Transaktionen).
Steigende Bedeutung von Data Warehouse Systemen und damit Wachsen
der Ansprüche und an die Sichtbarkeit, Verfügbarkeit
und
Qualitätssicherung.
Stärkere Vernetzung der Warehouse Systeme mit anderen Anwendungen
und
damit
wachsende
Bedeutung
von
Integrations
–
und
Infrastrukturtechnik.
Stärkere Automatisierung des Vorgangs der Informationsbeschaffung und –
aufbereitung (Integration in operative Prozesse).
Kürzere Berichtszeiten („Latency“).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
2.1
15/166
Operationalisierung des Data Warehouse
Ein Trend sollte besonders betont werden: Die Operationalisierung des
Warehouses. Damit ist die wachsende Bedeutung der Warehouse Systeme für die
operativen Systeme selbst gemeint. Die Warehouse Systeme sind in der
Vergangenheit bewusst als Gegenpunkt zu den operativen Systemen erstellt
worden. Die Datenhaltung wurde separat gewählt, weil die operativen Anwendungen
bereits unter voller Auslastung litten. Die Daten wurde aggregiert, weil man in den
Detaildaten keine Proportionen erkennen konnte. Die flüchtigen operativen
Transaktionen wurden fast photographisch durch die dauerhafte Speicherung im
Warehouse dokumentiert, um Trends zu erkennen. Daten wurden einheitlich
gesammelt, um ein vollständiges Bild der Unternehmensentwicklung zu behalten
usw.
Die gegenwärtig erkennbare Operationalisierung des Warehouses ist nicht die
Umkehrung dieser Entwicklung, sondern sie ist eine Anerkennung der besonderen
Verfahren und Möglichkeiten, die die Warehouse – Technologie erfolgreich
entwickelt hat. Man hat erkannt, dass zentrale, einmalige, konsolidierte und
historisierte Datenbestände auch für operativ – taktische Zwecke hilfreich sein
können.
Waren in der Vergangenheit Business Intelligence und Warehouse – Systeme oft
nur ein besonders aufwendiger Ersatz für Standard – Unternehmensreporting, mit
periodisch gelieferten aggregierten Berichten für das Management und einem in sich
geschlossenen stimmigen Zahlenwerk für das Controlling, so sind die
Aufgabenstellungen heute wesentlich vielfältiger.
Die ist letztlich eine Folge der Umstrukturierung der Unternehmen selbst. Die seit
den 90er Jahren immer noch andauernden Process Reengineering - Maßnahmen
haben einerseits zu einer Verschlankung der Unternehmenshierarchien geführt.
Andererseits aber sorgten sie für mehr Komplexität und führten zu mehr
Abhängigkeiten bei den Basisprozessen auf der taktischen Unternehmensebene.
Ziel war und ist die einzelnen Prozessschritte stromlinienförmig möglichst ohne
Reibungsverluste aneinander zu koppeln. Hinzu kommt eine stärkere Vernetzung
der eigenen Geschäftsprozesse mit denen von Partnern. Plötzlich sind
Schnittstellenabstimmungen
zwischen
den
Teilprozessen
wichtig.
Der
Informationsaustausch von Teilprozess zu Teilprozess muss stimmen. Die
Leistungen innerhalb der Teilprozesse müssen genauer bewertet werden können.
Die Planung von Prozess zu Prozess muss ermöglicht werden.
Das mag abstrakt klingen, ist aber längst Realität und Beispiele gibt es genügend:
 Ein Produktionsunternehmen misst die Fehlerquote von Maschinen und
leitet den rechtzeitigen Austausch von Bauteilen ein, wenn Schwellwerte
überschritten sind. Die Schwellwerte liefert das Warehouse aufgrund
historisierter Informationen. Produktionsausfall wird verhindert.
 Ein Speditionsunternehmen misst die Leistung von Subunternehmern, die
Teiltransporte ausführen und erhält gleichzeitig Informationen darüber wann,
welche Güter an welchem Ort sind. Eine Information, die den Service für
Kunden erhöht.
 Eine Direktbank misst die Profitabilität von Kunden und entwickelt gezielte
Angebote für profitable Kundensegmente.
 Ein Großhändler hat eine Vertriebskette von Lieferanten über Subhändler
bis zu Kunden aufgebaut und braucht Informationen über Durchlaufzeiten
von Waren und Leistungsdaten der Subunternehmer.
 U. a.
Hier kommt das Warehouse in Spiel in dem es die neuen Informationsbedürfnisse
besser bedienen kann als die operativen Systeme.
Warehouse Systeme haben bewiesen, dass sie besondere Fähigkeiten für das
Informationsmanagement besitzen, sie können Informationen prüfen, konsolidieren,
verdichten. Sie machen Informationen vergleichbar.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
16/166
Sie messen, kontrollieren die einzelnen Schritte. Wichtig ist zeitnahes Messen, denn
nur zeitnahes Messen führt zu schneller Einflussnahme und Steuerung. Dies sind
Kernanforderungen von Methoden wie BAM (Business Activity Monitoring) oder
CPM (Corporate Performance Management).
Unternehmensprozesse werden nicht mehr nur Top Down sondern auch horizontal
auf der unteren ebene gemessen
Die Operationalisierung des Warehouses hat natürlich zwangsläufig Auswirkungen
auf die Warehouse Architektur:
Wird prozessübergreifendes Monitoring gebraucht, ist die Entscheidung für ein
abteilungsübergreifendes, unternehmensweites Warehouse vorgegeben. Wird ein
zeitnahes Monitoring gebraucht, entfallen zeitraubende Batchläufe. Sollen lediglich
aktuelle Entwicklungen bzw. Zustände gemessen werden, so braucht man nur
überschaubare Datenmengen in der Auswertedatenbank und keine riesigen
Auswertedatenbestände usw. Auch Abfragezeiten müssen kürzer sein, als bei
klassischen Warehouse – Systemen. Daten müssen schneller in das Warehouse
fließen. Aufwendige Engine – Komponenten zum Laden von Daten sind hinderlich.
Das klassische ETL (Extraction, Transition, Load) wächst mit der jüngeren Disziplin
des EAI (Enterprise, Application, Integration) zusammen. Multidimensionale und
relationale Analysen müssen Hand in Hand gehen.
2.2
Serverbasiertes, zentrales Data Warehouse
Oracle begegnet diesen neuen Anforderungen durch einen serverbasierte,
zentralisierten Lösungsweg. Serverbasiert bedeutet hier nicht die Bereitstellung
eines zentralen Servers mit einer Datenbank. Die Warehouse – typischen
Funktionen wie Integrieren, Konsolidieren, Zusammenfassen, Analysieren usw.
werden zentral an einer Stelle konzentriert und als „Warehouse Services“
angeboten. Dieser Aspekt der Integration von Funktionen kommt den oben
beschriebenen Trends entgegen. Mit zentrierten Services kann schneller kontrolliert
werden. Diesem Konzept folgen die Einbettung von ETL -, Data Mining und MOLAP
– Funktionen in dem Datenbank – Kern. Es entsteht die notwendige Nähe von
Warehouse – Funktionen und Daten in der Datenbank.
Datenbank - basierte Warehouse Services sind:
 Datentransportdienste (SQL/ETL)
 Datenmanagement (Datenhaltungsfunktion der Datenbank)
 Transformationen (Funktionen)
 Prüfungen ( Checks, Rules)
 Analysen (SQL – basierte analytische Funktionen)
 Multidimensionale Analysen (MOLAP)
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur

2.3
17/166
Data Mining Funktionen
Abdecken auseinanderdriftender
Benutzeranforderungen
Die
Informationen
des
Data
Warehouses
beliefern
unterschiedliche
Auswerteszenarien, beginnend bei mehr operativ angelegten Einzelabfragen mit
granularen Daten, bis hin zu hochverdichteten Kennzahlen, die strategische
Unternehmensentscheidungen steuern. Die Data Warehouse – Architektur, darf
jedoch nicht von einzelnen Zielgruppen abhängen. Die Architektur ist so zu wählen,
dass alle Arten der Informationsverwendung Unterstützung finden. Auf der einen
Seite nur verdichtete Daten zu liefern, verhindert auf der anderen Seite die immer
wichtiger werdende operative Verwendung. Nur fertig präparierte Tabellen für
Standardberichte bereit zu halten, würde die freie Navigation derjenigen Benutzer
behindern, für das ein neutrales, flexibles Datenmodell praktischer wäre, usw. . Das
System muss strategische Entscheidungen des Managements durch aggregierte
Kennzahlen ebenso unterstützen, wie taktische Entscheidungen der operativen
Unternehmensebene durch mehr granulare Daten.
Hauptziel ist zwar das Liefern von Informationen für konkrete Endbenutzer, es muss
allerdings ein Datenmodell gefunden werden, das den konkreten Endbenutzer
optimal bedient und gleichzeitig die Informationsbelieferung anderer Benutzer
gewährleistet.
Bandbreite der Verwendung der Warehouse – Informationen
Folgende Datenstrukturen werden bzgl. der unterschiedlichen Auswertemethoden
gebraucht:
 Data Mining: auf wenige Tabellen integrierte und schematisierte Daten, die
maschinelles Auswerten ermöglichen.
 Simulation / Planung: hoch aggregierte Daten (Operationen mit Summen).
 Interaktive / individuelle Auswertungen: granulare Daten mit der Möglichkeit
schnell und einfach zu verdichten, komplexe Datenzusammenhänge sind
durch
wenige,
für
Endbenutzer
überschaubare
Tabellen
zusammenzufassen.
 Feststehende, vordefinierte Berichte: vorermittelte Ergebnisse.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
18/166
Zwischen diesen Welten gibt es fließende Übergänge, entweder / oder ist nicht
möglich sondern sowohl als auch. Die weiter unten vorgestellten multidimensionalen
Strukturen mit granularen Daten helfen bei diesen Anforderungen.
2.4
Prozess - Unabhängigkeit des Data Warehouses
Eine wichtige Forderung an Warehouse – Systeme ist deren Unabhängigkeit von
den operativen Prozessen selbst. Einige operative Systeme (u. a. ERP) liefern ihre
eigene Auswerte- und Analysetechnologie mit. Das mag auf den ersten Blick wegen
der zu erwartenden engen Integration praktisch sein. Doch es kann eine Art
„Prozessblindheit“ eintreten, wobei der Betrachter wichtige Trends aufgrund von
Voreingenommenheit nicht mehr erkennt. Dies ist nur eine Erkenntnis aus der
„wilden Data Mart Euphorie“ aus den ersten Jahren der Data Warehouse –
Entwicklung. In den Unternehmen entstanden an mehreren Orten (in mehreren
Abteilungen) unabhängig von einander Data Mart Inseln, die dann genau so schnell
wieder verschwanden als entweder der Geschäftsbereich, den die Abteilung
betreute, aufgelöst oder ein neues Auswertetool angeschafft wurde. Das in dem
Data Mart gespeicherte Wissen ging verloren.
Ein Data Warehouse unterstützt Unternehmensprozesse, indem es Informationen
zur Steuerung der Prozesse auf mehreren Ebenen bereitstellt. Da
Unternehmensprozesse ständigen Änderungen unterliegen, muss in dem Data
Warehouse auf solche Änderungen reagiert werden. Sind Warehouse – Strukturen
vollständig von operativen Prozessen abhängig, fehlt in dem Data Warehouse die
nötige Kontinuität, um längere Unternehmensentwicklungen dokumentieren zu
können.
Über das Data Warehouse können verschiedene Unternehmensprozesse
synchronisiert werden (z. B. Abstimmung von
Absatzentwicklung,
Warenbeschaffung und Kampagnenplanung). Treten Änderungen einzelner
operativer Prozesse auf, darf dies die Data Warehouse - Unterstützung anderer
Prozesse nicht beeinträchtigen.
Prozessunabhängigkeit von Warehouse Strukturen
Auch die Anzahl der operativen Prozesse darf die Strukturen des Data Warehouse
nicht beeinflussen. Eine Warehouse – Architektur muss eine Telefongesellschaft mit
wenigen Prozessen genauso unterstützen können, wie ein Luftfahrtunternehmen mit
sehr heterogenen und vielen Prozessen. Letztlich ist die Anzahl der
Informationseinheiten (Entities) in dem Data Warehouse entscheidend. Viele
Prozesse brauchen mehr Informationen, wenige eben weniger Entities usw. Die
Struktur selbst muss stabil bleiben, allenfalls erweitert werden. Auswertungen, auf
die sich bestimmte Benutzergruppen verlassen, dürfen durch das Einbinden neuer
Prozesse nicht beeinflusst werden. Katastrophal wäre es eine Abteilung ihre
gewohnten Informationen nicht mehr in der gleichen Qualität erhält, nur weil eine
andere Abteilung zusätzliche Informationen aus dem System beziehen will. Ärgerlich
wäre es, wenn neue Datenmodelle erstellt werden müssten, nur weil neue Sharts
durch ein neue Endanwendertool gebraucht werden.
Das noch zu beschreibende Mehrschichtenmodell erfüllt diese Anforderung.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
2.5
19/166
Auf Dauer gebaut auf Langlebigkeit des Warehouses achten
Das Management von Informationen in einem Data Warehouse muss
berücksichtigen, dass Informationen für einen noch nicht bekannten Zweck
vorzuhalten sind. Warehouse Systeme sollten für einen langlebigen Betrieb
aufgebaut sein und deren Die Informationen über lange Zeiträume hinweg Nutzen
bringen. Hierfür sprechen 2 Gründe:
1. Einzelne Anwendungen haben oft eine kürzere Lebensdauer, z. T. unter 5
Jahre. Die Prozesse über die ein Unternehmen seinen Gewinn generiert,
sind langlebiger. Die den Prozessen zugeordneten Geschäftsobjekte haben
z. T. eine noch längere Lebensdauer, einige reichen bis an die Lebensdauer
des Unternehmens selbst heran (z. B. die Geschäftsobjekte in der
Kundenbeziehung
eines
Handelsunternehmens).
In Warehouse Systemen ist das Wissen rund um die Geschäftsobjekte
gespeichert. Die Datenmodelle des Data Warehouses sind also mindestens
so stabil zu entwerfen, dass sie die Lebensdauer der Geschäftsobjekte
erreichen. Das kann 10 Jahre und länger sein. Die Architektur eines
Warehouse – Systems nur an konkreten Software – Systemen auszurichten
wäre
kurzsichtig).
2. In Warehouse – Systemen sind historische Sichten gespeichert. Trends
über Jahresgrenzen hinweg müssen analysiert werden. Schon deswegen
sollte das System für mehrere Jahre ausgelegt sein.
Ein Verfahren das dieses Ziel unterstützt ist das Granularisieren von Informationen.
D. h. das Isolieren von einzelnen Informationsbausteinen. Werden Informationen
zusammenhängend oder von einander abhängig gespeichert, so sind in den Daten
bereits Prozessabhängigkeiten versteckt. Werden Prozesse geändert, so steht die
Information nicht mehr vollständig für neue Prozesse zur Verfügung.
Beispiel: Die Information „GESCHÄFTSKUNDE“ ist bereits zusammengesetzt. Diese
Information lässt sich granularisieren in „KUNDE“ und „GESCHÄFTSART“ (mit der
Ausprägung „Geschäft“ und „Privat“). Wird man sich irgendwann entscheiden, neben
den Geschäftskunden auch noch Privatkunden zu bedienen, so passt das
Warehouse – Datenmodell auch dafür.
Dies sind mit die Hauptgründe für die Erstellung einer eigenen Warehouse –
Schicht, die in der Regel aus normalisierten Datenmodellen besteht.
[Warehouse – Schichten werden separat behandelt.]
Hier erkannt man, wie schwerwiegend die vorschnelle Auswahl von Data
Warehouse – Werkzeugen ist. Es werden Fragen wichtig wie:
 Wie proprietär ist meine Datenhaltung?
 Wie viel Wissen wird in proprietären Transformationsprogrammen
gekapselt?
 Wie viel verborgenes Wissen steckt in dem Aufbau des Warehouse
Systems?
 Reicht es bei der Wahl von Frontend – Werkzeugen aus, nur auf die Optik
zu schauen und dabei zu vernachlässigen, dass man sich eine gekapselte
Datenhaltung anschafft, in der dann das strategische Wissen des
Unternehmens über 10 oder 15 Jahre hinweg vorgehalten werden muss?
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
2.6
20/166
Technologische Anforderungen
Daraus ergeben sich eine Reihe von technologischen Rahmenanforderungen.
Heutige Warehouse Systeme brauchen eine stärkere Nähe zu operativen
Vorsystemen. Sie sind Schnittstellen – Systeme. Sie sammeln Informationen,
bereiten sie auf und verteilen diese wieder, z. T. an dieselben Vorsysteme zurück.
Daten müssen schneller und leichter über ein Warehouse System bereitstehen und
auch wieder an die operativen System zurückfließen (Rückkopplung, Loop back).
Bezüglich der verschiedenen Benutzerschichten ist eine noch stärkere Flexibilität
gefordert. Flexibilität meint hier den Grad der Wandlung von Daten zu Informationen
für sehr stark auseinanderdriftenden Informationsbedürfnisse.
Architektonische Leitlinien sind daher:






Kurze Wege zwischen operativer und dispositiver Datenhaltung.
Kompakte und integrierte Architekturen.
Möglichst einheitliche Technologie mit wenig Brüchen.
Modellflexibilität in den Endbenutzerschichten des Warehouses (relationale,
multidimensionale, flache Modellstrukturen)
Anwendungsneutralität (Warehouse als selbständige Komponente, die das
Austauschen von Anwendungen übersteht).
Technik – Neutralität /Zeit - Stabilität (Verwenden von zeitüberdauernden
Standards).
Das Konzept des datenbankbasierten Ladens von Daten mit Hilfe von Standard SQL
realisiert diese Anforderung.
2.7
Bereitstellen von Informationen für Benutzer
Effektive Data Warehouse – Architekturen tragen eine Hauptverantwortung für die
sinnvolle Bereitstellung von Informationen für Entbenutzer. Je mehr diese
Anforderung bei dem Design der Endbenutzerschichten berücksichtigt wird, um so
weniger müssen sich Analysewerkzeuge um die Konfiguration von Daten bemühen.
Es sind 2 Strukturarten bei der Informationsbereitstellung zu berücksichtigen:
1. Flexible Auswertemodell
2. Feste Kennzahlen
2.7.1 Flexible Auswertemodelle
Das System stellt dem Benutzer wesentlich mehr Informationen zur Verfügung, als
er zu dem Zeitpunkt einer konkreten Analyse benötigt. Allerdings darf das System
den Benutzer nicht mit einer Vielzahl von einzelnen Informationsobjekten
überschütten, so dass dieser die Orientierung verliert.
Benötigt wird eine kompakte und damit übersichtliche Struktur, die durch eine
geschickte Kombinationsmöglichkeit einzelner Bestandteile neue Informationen
entstehen lässt. Multidimensionale Datenmodelle sind für diese Anforderungen
konzipiert. Hier werden strukturierte Sichten auf Geschäftsobjekte angeboten
(Dimensionen). Die Struktur einer solchen Dimension erlaubt z. B.
Gliederungshierarchien. Jede Gliederungshierarchie einer Dimension ist mit
Gliederungshierarchien
anderer
Dimensionen
verknüpfbar.
Die
Kombinationsmöglichkeiten potenzieren sich, je mehr Dimensionen hinzukommen.
Mehrere Tausend Abfrageoptionen sind für Endbenutzer möglich, obwohl es sich
um ein überschaubares Datenmodell handelt. Das Starschema ist z. B. ein solches
Datenmodell.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
21/166
Multidimensionales Modell
Eine Vielzahl von Fragen lässt sich durch das in der Graphik dargestellte
Datenmodell beantworten:
 Umsatz nach Monat/Land/Sparte
 Umsatz nach Jahr/Werk
 In welchem Land laufen welche Artikel am besten
 Usw.
Die Flexibilität des Modells entsteht durch zwei Eigenschaften:
1. Die Konzentration der Merkmale von Geschäftsobjekten (Region,
Produktionsstandort, Produkte) in kompakter Form an einer Stelle
(Dimensionen).
2. Die wahlfreie geschäftsobjektübergreifende Kombinationsmöglichkeit dieser
Merkmale untereinander.
Kombinationsmöglichkeiten im multidimensionalen Modell
Ein Modell mit 4 Dimensionen und jeweils 3 Merkmalen, lässt bei einem Faktwert
bereits über 80 unterschiedliche Abfragen zu. Bei 4 Merkmalen pro Dimension sind
es schon 256 Merkmale usw.
Anzahl
Dimensionen
4
4
4
Merkmale
Dimension
3
4
5
pro
Copyright © 2005 by Oracle Corporation. All rights reserved
Anzahl
Abfrageoptionen
81
256
625
Data Warehouse Referenzarchitektur
4
---
22/166
6
---
1296
---
Wie viele Abfrageoptionen wird ein Modell liefern mit 10 Dimensionen und jeweils 20
Merkmalen liefern? (Rechnen Sie es nicht aus, die Anzeige im Taschenrechner
reicht nicht.)
Natürlich sind viele potentiell möglichen Abfragen nicht sinnvoll. Aber sie könnten
unter geänderten Voraussetzungen in der Zukunft sinnvoll werden.
2.7.2 Feste Kennzahlen
Die zweite Abfragestruktur sind fertig vorbereitete Kennzahlen deren Inhalte der
Benutzer lediglich abrufen muss. Eine Liste von fixen Werten (Kennzahlen) steht
bereit. Die Kennzahlen sind zu dokumentieren. Semantik und Herkunft (Ableitung)
sind als Metadaten bereitzuhalten (Endbenutzerorientierung).
Liste von festen Kennzahlen Metadaten gesteuert über Browser dargestellt
In der Praxis werden diese Kennzahlenlisten die Kernzellen der Standard – Berichte
sein. Eine Sache ist es, dass Benutzer über die Existenz der Kennzahlen Bescheid
wissen (z. B. durch einen Metadaten – Browser), die andere ist es, wie Benutzer auf
diese Kennzahlen zugreifen können. Die wenigsten Benutzer werden mit SQL
vorgegebene Zahlenwerke abfragen können.
Feste Kennzahlen leiten sich im idealen Fall von den flexiblen Auswertemodellen ab.
[Weiter unten wird das Konzept der Materialized Views vorgestellt, das dieses
Verfahren ermöglicht.]
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
23/166
3 Projekt und Projektmanagement
Warehouse – Architekturen werden mit Hilfe von Projekten realisiert. Daher muss
die besondere Machart von Data Warehouse Projekten in die Betrachtung mit
einfließen.
(Es gibt genügend Projektmanagement- und Softwareentwicklungsmethoden. Dies
muss hier nicht wiederholt werden. Hier sollen nur Warehouse – spezifische Aspekte
angesprochen werden).
3.1
Inkrementelle Entwicklung Software Entwicklung
Es liegt in der Natur des Data Warehouse Systems, dass es nur mit Hilfe eines
Software - Entwicklungs- und Bereitstellungsprojektes zur Verfügung gestellt werden
kann. Ein Data Warehouse kristallisiert Informationen aus unterschiedlichen
Unternehmensbereichen und Prozessen und diese sind unternehmensspezifisch.
Jeder Versuch eine sog. Standard – Lösung zu implementieren, mündet in den
meisten Fällen zumindest in einem Anpassungsprojekt um den firmenindividuellen
Gegebenheiten gerecht zu werden.
Warehouse – Systeme sind firmen - individuelle Lösungen. Sie haben die Aufgabe
zusammenzufassen, was in den Unternehmen an unterschiedlichsten Stellen über
Jahre gewachsen und auseinander gedriftet ist. Und wie sich Unternehmen
unterschiedlich entwickeln, so unterschiedlich sieht auch die Systemlandschaft aus.
Außer für Teilaufgaben wie Controlling oder Finanzplanung, kann es daher kaum
Standard - Pakete geben. Am Markt angebotene Standard – Lösungen tendieren zu
einem Inseldasein, wenn sie nicht in eine definierte Architektur eingebettet sind (hier
ist nicht nur das Bereitstellen einer Datenschnittstelle gemeint).
Hinzu tritt die Forderung nach Flexibilität und Skalierbarkeit die durch
Standardlösungen nicht erfüllbar ist.
Data Warehouse Projekte unterscheiden sich von klassischen Software Projekten
durch ihren sog. inkrementellen Ansatz. Das fertige System muss
Informationsbedürfnisse befriedigen, die sich oft schon im Verlauf von Monaten
wandeln. Während klassische Softwareprojekte auf eine über lange Zeit stabile
Softwarespezifikation bauen können, müssen Warehouse Projekte die
Zielanforderung ständig neu bestimmen und aktualisieren. Daher werden die
Realisierungsphasen sehr kurz gewählt und ein Anforderungsblock (Inkrement) mit
überschaubaren Teillösungen abgearbeitet.
Die Teilaufgaben werden gewichtet. Die dringlichsten Aufgaben mit dem höchsten
Ergebniswert (ROI), werden zu erst durchgeführt.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
24/166
Innerhalb der Teilprojekte gelten Phasenabschnitte, die mit einem Ergebnis
abzuschließen sind:
Nr.
1
Phase
Informationsbedarfsanalyse
2
Prozessanalyse und
Teilprozessauswahl
Konzept
3
4
Datenanalyse
Datenqualität
5
Realisierung
6
Einführung
Wartung
Ergebnistypen
Mission Statement
Dokumentation
Informationsbedarf
Analysemodell
Objektmodell
Auswertedatenmodelle
(Starschema)
Berichtsschema
Informationsversorgungsplan
Dokumentation
Quellenmodelle
Mappingmodell
Datenflussmodell
Warehouse
–
Tabellen
Ladesystem, Berichte
Steuerungssystem
Benutzerstatement
Mittel
Fragebogen
div. Mittel
Fragebogen
div. Mittel
Warehouse
Life Cycle
Werkzeug
(DM – Tool)
Datenmodelle
Warehouse
Life Cycle
Werkzeug
Warehouse
Life Cycle
Werkzeug
Ein Warehouse – Projektinkrement realisiert Komponenten vor dem Hintergrund der
unten definierten 3 – Schichten Architektur. Da das Gesamtsystem nicht in einem
Inkrement entsteht, ist zu Beginn aller Warehouse – Teilprojekte eine kurze
Konzeptphase für die Gesamtarchitektur einzuplanen.
Zur Realisierung der Projekte ist ein Warehouse Life Cycle Werkzeug einzusetzen,
das nach Möglichkeit phasenübergreifend genutzt werden kann. Ein Schwerpunkt
des Werkzeuges muss auf der Dokumentation des Systems liegen. Ideal ist es,
wenn Spezifikationen und z. B. Datenmodellbeschreibungen nicht separat
unabhängig von den Entwicklungswerkzeugen erstellt werden. Werden
Datenmodelle beschrieben, so sollte das in einer Notation geschehen aus der
heraus auch physische Definitionen ableitbar sind. Textliche Beschreibungen der
Entitäten sollten in Beschreibungen der Zieltabellen überführbar sein usw.
3.2
Modelle sichern das Projekt ab
Warehouse – Projekte müssen „nachvollziehbar“ durchgeführt werden. Jederzeit
muss Sinn und Erfolg von Projektschritten transparent sein. Dies gelingt nur mittels
Modellen, die Projekte steuern und kontrollieren. Mindestens die folgenden Modelle
sollten vorhanden sein:
 Analysemodell
o Erfassung
und
Beschreibung
der
zu
unterstützenden
Geschäftsprozesse.
 Objektmodell
o Auflistung der in den Prozessen verknüpften Geschäftsobjekte.
o Auflistung der Beziehungen zwischen den Geschäftsobjekten.
 Mappingmodell
o Auflistung von relevanten Quellenstrukturen (Quellmodelle).
o Zielmodelle.
o Zuordnung zwischen Quell- und Auswertestrukturen.
 Nutzergruppenplan (Informationsbedarfsplan)
o Auflistung aller potentieller Nutzergruppen und den benötigen
Informationen.
 Kennzahlenzugriffskonzept
o Auflistung der Art und Weise des Zugriffs zu den einzelnen
Informationen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
25/166
[Die Machart der Modelle und ihre Herleitung sind hier nicht ausgeführt. Weitere
Informationen bei dem Autor.]
3.3
Parallele Schichtenentwicklung
In dem noch zu besprechenden Schichtenmodell des Warehouses (Stage/
Warehouse / Data Mart) liegen Abhängigkeiten vor auf die im Verlauf des Projektes
Rücksicht genommen werden muss. Das kann bedeuten, dass man an
unterschiedlichen Teilen des Gesamtmodells gleichzeitig entwickeln muss. Die
Projekte beginnen in der Regel mit der Erhebung der Informationsbedürfnisse der
Endanwender des Warehouse – Systems. Danach leitet sich dann auch die
Entwicklung des Datenmodells für die Endanwender ab. Das ist dann meist das
Model für die Data Marts. Weiter unten wird jedoch ausgeführt, dass Data Marts
nicht isoliert von einander entwickelt werden sollten. Sie sollten im Verbunden mit
anderen Data Marts gesehen werden und sie erhalten vorbereitete Informationen
aus der Data Warehouse Schicht. Das bedeutet, das z. B. die Entwicklung einer
denormalisierten Dimension in einem Data Mart, die Entwicklung einer
normalisierten Struktur mit analogem Informationsinhalt in der Data Warehouse
Schicht einhergehen sollte. Außerdem wird bei der Entwicklung einer integrierten
Architektur immer zu prüfen sein, wie weit neu zu entwickelnde Objekte von
existierenden Objekten ableitbar sind.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
26/166
Standardisierte Vorgehensweise
Die Oracle Warehouse Architektur stellt eine Sammlung von Verfahren und Regeln
dar. Diese ändern sich nicht und sind von Projekt zu Projekt übertragbar. Das
reduziert den Projektaufwand enorm. Die technologische Konzeption muss nicht neu
erfunden werden, Projektmitarbeiter wenden ein bestehendes Regelwerk an.
Architekturen bestehend aus Technologien, Verfahren und Regeln sind
standardisierbar und können von Projekt zu Projekt unabhängig von der fachlichen
Anforderung wiederverwendet werden.
Projekte, die die Oracle Warehouse Architektur anwenden, sind daher besonders
kostenschonend.
Hauptaugemerk
liegt
auf
der
Unterstützung
der
Unternehmensprozesse, nicht auf der Entwicklung neuer Techniken oder Verfahren,
diese sind bereits vorhanden.
3.3.1 Dokumentation
Dokumentation ist selbstredend. Aber die beste Dokumentation, ist diejenige, die
man nicht mehr erstellen muss. Hier helfen Werkzeuge, die den Entwicklern zum
einen eine Modellierungsplattform bieten, zum anderen aber das Modellierte (die
Modelle) in ihrem Repository speichern. Eines nehmen sie allerdings oft nicht ab:
Strukturierte Vorgehensweisen oder etwa sinnvolle Namensvergaben. Hier sind
Entwicklerteams gefordert, sich im Zuge ihrer Projektorganisation z. B. auf
Namenskonventionen zu einigen.
3.3.2 Namenskonventionen
Aus der klassischen Datenadministration kennen wir die Verwendung von
Namenskonventionen für die unterschiedlichen Objekttypen innerhalb der
Warehouse – Modelle. Im Gegensatz zu der klassischen Handprogrammierung, bei
der die Verwendung von Namenskonventionen zur Orientierung unverzichtbar war,
leisten moderne Modellierungstools auch ohne Namenskonventionen gute
Navigationshilfen durch die Metadaten und Modelle. Sie verleiten sogar dazu keine
Namenskonvention zu verwenden und zwingen die Benutzer auch nicht dazu.
Namenskonventionen sind dennoch auch bei der Verwendung von Tools hilfreich:



Sie ordnen Objekte einen eindeutigen Platz innerhalb des Warehouse –
Schichtenmodells.
zu
Z. B. STG_Kunde, DWH_Kunde, DM_Kunde: Wie sonst soll man erkennen,
dass es sich hier um drei verschiedene Kundentabellen handelt.
Man gewinnt mehr Flexibilität bei der Zuordnung von Tabellen in die
Datenbankschemen. Alle drei Kundentabellen des vorher genannten
Beispiels
können
mit
Namenskonvention
auch
in
einem
zusammenhängenden Schema liegen. Damit wird die Verwaltung leichter.
In den Metadatenlisten (Auswirkungsanalysen, Herkunftsanalysen) sind die
Objekte leichter unterscheidbar.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
27/166
Verwendung von Namenskonventionen zur Orientierung bei Auswirkungs- und
Herkunftsanalyse über Metadaten
Es gibt drei Arten der Namenskonvention:



Objekttypbezogene Namenkonvention z. B. TB_xxx für Tabelle, MP_xxx für
Mapping usw.
Schichtenspezifische Namenskonventionen z. B. STG_xxxx für Stage,
DWH_xxx für Data Warehouse, ODS_xxxx für Operational Data Store,
DM_xxxx für Data Mart usw.
Verfahrensbezogene Namenskonventionen CTRL_xxxx für Controlling usw.
Bei der Verwendung von Modellierungstools für das Warehouse macht es meist
wenig Sinn, die Objekttypen selbst noch einmal mit Namenskonventionen zu
kennzeichnen, denn diese sind meist schon durch die graphischen Symbole
voneinander unterscheidbar gemacht. Verfahrensbezogene Namenskonventionen
enden meist in dem Ergebnis, dass alle Objekte mit den gleichen
Namensbestandteilen markiert werden. Hier gibt es dann kaum eine
Unterscheidung.
Also bleibt die Namenskonvention auf der Basis der Warehouse – Schichten. Aus
der Datenadministration kennen wir besondere Namensvergaberegeln. Objekte
werden von ihrer globalen Bedeutung her zuerst benannt und dann über
angehängte Attribute näher qualifiziert:
KONTO_VERECHNUNG
KONTO_DEPOT
KUNDE_PRIVAT
KUNDE_PARTNER
Das mag zwar umgangssprachlich nicht ansprechend sein, ist aber praktisch, wenn
es darum geht eine Übersicht über alle Datenobjekte im Warehouse zu erhalten.
Soll eine neue Datenausprägung von Kunde im Warehouse modelliert werden, so
braucht man in den Metadaten nur nach den bestehenden KUNDEN_XXXX –
Einträgen zu suchen, um Doppeldefinitionen zu vermeiden.
Natürlich kann hierfür ein Repository - System verwendet werden, in dem
Datenobjekte nach verschiedenen Kriterien, Schlagwörtern usw. gesucht werden
können. Aber Namenskonventionen sind die einfachste Variante.
3.3.3 Templates
Zur Standardisierung tragen auch Templates für Dokumente und Modelle bei.
Neben der Arbeitsersparnis beim Erstellen, helfen sie auch bei der leichteren
Orientierung innerhalb der Systemdokumentation.
Templates sollten eine Hilfestellung sein, sie sollten nicht zur zusätzlichen
Arbeitsbelastung führen nur weil sie aufgrund ihrer Existenz und vorgeschriebener
Vorgehensweisen auszufüllen sind. Viele Projekte haben bereits große Teile ihres
Zeitbudgets verbraucht, während sie nur Papier erstellten.
Templates sollten vordefinierte Textbausteine und Listen zum Ankreuzen beinhalten.
Das Ausfüllen der Templates darf nicht viel Zeit beanspruchen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
28/166
4 Grundsätzliches Vorgehen zum Aufbau
des Warehouse Systems
4.1
„Chaos in allen Gassen“
Bevor ein sinnvolles Architekturkonzept erklärt wird, sollte ein Blick in die
bestehende Realität existierender Warehouse Systeme geworfen werden um die
Dringlichkeit einer sinnvollen Vorgehensweise zu unterstreichen. Gemeint sind
gerade Warehouse – Systeme von großen Unternehmen, bei denen sich
Heerscharen von Projektmitarbeitern verwirklicht haben. Ursprünglich sind solche
Systeme oft von externen Mitarbeitern konzipiert und in einem ersten Wurf gebaut
worden. Dann haben wechselnde internen Mitarbeitern die Systeme gewartet und
punktuell weiterentwickelt. Es entstand ein Mix aus nicht oder falsch angewendeter
Datenbanktechnologie und vermeintlich gültigen, nicht hinterfragten Methoden. Wie
ist es sonst zu erklären, dass solche Systeme aus mehreren 1000 Tabellen über
mehrere 1000 Laderoutinen verfügen. Die Ursachen sind vermutlich:
 Zu viele 1:1 Kopiervorgänge (aufgrund von Sicherheitsbedürfnissen oder zu
vielen Systemwechseln)
 Die Verwendung von Summentabellen für jede gewünschte Abfrage. Jede
Summentabelle muss über Transformationen separat gepflegt werden.
 Der fehlende Informationsplan. Die Warehouse – Verantwortlichen haben
die Übersicht darüber verloren, welche Information an welcher Stelle bereits
existiert. Schnell wird eine neue Tabelle und damit ein neues
Ladeprogramm angelegt.
Damit erklärt sich auch, warum diese Systeme in den Ruf von Kostenfressern und in
jüngster Zeit verstärkt auf die Prüfstände der IT – Controller geraten sind.
Diese Aussagen gelten gerade für große Systeme, die Ende der 90er Jahre
entstanden. Die jüngeren Systeme sind wesentlich kleiner konzipiert und laufen
naturgemäß weniger Gefahr der Verzettelung. Aber auch hier gilt: falscher
Technikeinsatz führt zu unnötigen Kosten.
4.2
Informationsplan
Eines der wichtigsten Hilfsmittel für die Entwicklung einer Warehouse – Architektur
ist der sog. Informationsplan. Für die Effizienz eines Warehouses ist es
entscheidend, an welchen Stellen welche Informationen liegen bzw. entstehen.
Informationen können redundant bearbeitet werden, mit all den negativen
Konsequenzen wie nicht stimmige Inhalte und mehrfachen Verwaltungsaufwand
oder sie können konzentriert und einmalig an definierten Stellen vorliegen.
Voraussetzung ist immer die Kenntnis darüber, welche Informationen gebraucht
werden und welche bereits vorliegen. Das klassische Mittel hierfür ist das Metadaten
Repository. Hier sollten alle Objekte in einer metasprachlichen Manier vorliegen und
abfragbar sein.
4.2.1 In welcher Form können Informationen dokumentiert
werden
Eine wichtige, erste Quelle ist die Informationsbedarfsanalyse, die mit den jeweiligen
Zielgruppen des Data Warehouse - Systems durchzuführen ist. Die Fachanwender
benennen eine Reihe von Fragenstellungen in einer Textform. Diese Form ist
allerdings ungeeignet, um sie in einer Liste katalogartig aufzuführen. Das
Projektteam wird aus dieser Befragung heraus Kennzahlen identifizieren. Die
Kennzahlen sind zunächst nur eine grobe Orientierung. Denn Kennzahlen können
wieder von anderen Kennzahlen abgeleitet sein, und Kennzahlen lassen nicht auf
den ersten Blick erkennen, welche beschreibenden Merkmale (Dimensionen) die
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
29/166
Kennzahl bestimmen. Aber auf die Grundbestandteile heruntergebrochene
Kennzahlen sind sicher erste Vertreter im Informationsplan.
Die zweite Gruppe der Einträge ist die Liste der Geschäftsobjekte. Eine solche Liste
entsteht im Rahmen der Geschäftsprozess – Analyse und kann unabhängig von der
Informationsbedarfsanalyse erstellt werden. Allerdings sollten nicht alle
Geschäftsobjekte des gesamten Unternehmens in das Warehouse – Repository
übernommen werden, sondern nur die relevanten.
Das Pendant zu den Geschäftsobjekten sind die Entitäten der betroffenen
Datenmodelle aus der Datenmodellierung und hierzu passen sehr schnell auch die
Tabellen des Warehouses selbst.
Gebraucht wird also ein Metadaten – Modell mit folgender Struktur:
Metadatenmodell (- Ausschnitt) zum Informationsplan im Data Warehouse
Die Darstellung einer notwendigen Metadaten – Struktur zur vollständigen
Dokumentation ist sehr viel aufwendiger, als dies an dieser Stelle möglich ist. Daher
sollten die hier genannten Metadaten - Objekte mit den zugehörenden Beziehungen
untereinander zunächst ausreichen. Sind diese Informationen in einem Metadaten
Repository gespeichert, dann kann dieses Repository dazu verwendet werden, um
Listen zu ziehen. Üblicherweise sind die Repository – Eintragungen durch
zusätzliche Schlagwortattribute gekennzeichnet, so dass die Objekte auch unter
anderen Begrifflichkeiten abfragbar sind.
4.3
Schichtenmodell
Eine Möglichkeit den Anforderungen nach Flexibilität und Skalierung im Warehouse
gerecht zu werden, ist die Art, in der das Warehouse konzipiert ist: die Architektur.
Data Mart – übergreifende Neutralität und zugleich Flexibilität wird mit dem sog. 3 –
Schichtenmodell erreicht.
Das Schichtenmodell ist eine Einteilung des Data Warehouse - Komplexes in
mehrere logische oder funktionale Segmente. Es gibt Segmente für 3
Hauptaufgabenbereiche:




Stage - Schicht,
Data Warehouse – Schicht (oder Kern Data Warehouse),
Endbenutzer – Schicht (Data Mart)
(Operational Datastore)
Die wesentlich umfassendere Data Warehouse – Schicht ist sachthemenorientiert
und integriert bereichsübergreifende Fragestellungen (in der Regel nahezu 3.
Normalform). Sie ist besonders gut für Konsolidierungszwecke geeignet, da sich
Daten in der 3. Normalform leicht sortieren und vergleichen lassen. Die Data Marts
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
30/166
dagegen sind auf die einzelnen Zielgruppen mit ihren speziellen Fragestellungen
zugeschnitten (z. B. Fachabteilungen). Sie sind meist denormalisiert als sog.
Dimensionale Modelle (Starschema) oder Würfel (Cube) aufgebaut.
Das gesamte System kann durch eine Staging Area von den Vorsystemen (OLTP Systeme) getrennt sein (Pufferschicht), damit sich die beiden Bereiche z. B. durch
Performanceverluste, nicht gegenseitig behindern. Außerdem können die aus
unterschiedlichen Vorsystemen stammenden Daten in der Staging Area validiert und
zurecht geschnitten bzw. bereits konsolidiert werden.
Das Schichtenmodell garantiert:



Bereichs-/abteilungsübergreifende Neutralität und damit Vergleichbarkeit
von Informationen.
Entkoppelung von operativen und dispositiven Datenbeständen durch die
trennende Warehouse - Schicht.
Ausreichende Wandlungsflexibilität von Daten zu Informationen durch
bewusste Normalisierungs- / Denormalisierungsschritte.
Die Trennung in Schichten ist eine logische Einteilung nach Funktionsbereichen
und nicht physikalisch zu verstehen. In einigen bestehenden Warehouse –
Systemen hat diese Einteilung jedoch zu organisatorischen und technischen
Strukturen geführt, z. B. wurden die Verantwortlichkeit für Data Marts in die
Fachabteilungen gelegt oder Data Marts wurden technologisch völlig losgelöst von
der Data Warehouse Schicht realisiert. Beides widerspricht der Anforderungen nach
kurzen Wegen zwischen operativen und dispositiven Systemen und lässt zusätzliche
Barrieren und Brüche in dem Wandlungsprozess entstehen.
Zur Unterstützung von leichten und einfachen Zugriffen auf das Data Warehouse
durch Mitarbeiter der operativen Prozessebene wird gelegentlich eine vierte Schicht,
die sog. operational Data Store – Schicht, verwendet. Diese Schicht hat jedoch
einige Überschneidungen mit dem Konzept der Warehouse Schicht. Darauf wird
weiter unten eingegangen.
3 – Schichtenmodell für unternehmensweit eingesetzte Data Warehouse Systeme
Das Ziel der 3 – Schichtenarchitektur ist der Entwurf einer möglichst
umfassenden, mehrere Unternehmens- und Themenbereiche abdeckenden
Informationsablage, die in kurzer Zeit konsolidierte Berichte und Analysen für
alle (!) Zielgruppen des Unternehmens bereitstellt.
Die Mehrschichtenarchitektur muss folgende Anforderungen erfüllen:
 Schichtenübergreifende Zugriffe:
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
31/166
o





Das Erstellen von Berichten und Analysen muss auch über die
Warehouse Schicht und nicht nur ausschließlich über die
Endbenutzerschicht möglich sein.
o Informationen (Tabellen) müssen auch gemeinsam nutzbar sein, z.
B. sollte der Datenbestand von großen Faktentabellen, nicht
aufgrund
des
Schichtenmodells
oder
organisatorischer
Begebenheiten mehrfach vorgehalten werden müssen (siehe
unten).
Effiziente Schichtenwahl bei Transformationen: Ladeprozesse sollten
vor dem Hintergrund aller Schichten entworfen werden. U. U. ist eine
bestimmte Herleitung innerhalb der Staging – Schicht einfacher als zu
einem späteren Zeitpunkt innerhalb der Data Marts. Das Verteilen der
Transformationen über alle Schichten hinweg muss wahlfrei sein. Der
Warehouse Architekt sollte die Freiheit besitzen, Transformationen an den
Stellen platzieren zu können, an denen die effizienteste Verarbeitung
möglich ist.
Durchgängig gleiche Transformationsmittel: Dies ergibt sich bereits aus
dem vorgenannten Punkt, denn die Wahlfreiheit bzgl. der Standorte von
Transformationen ist auch abhängig von den Mitteln mit denen die
Transformationen gemacht sind. Nur gleiche und standardisierte
Komponenten sind durchgängig flexibel platzierbar (z. B. SQL).
Gemeinsam
genutzte
Ladeprozesse:
Abteilungsübergreifende
Ladeprozesse (Datenversorgungsvorgänge) sollten innerhalb der ersten
beiden Schichten erfolgen.
Gemeinsam genutzte Analyseprozesse und Kennzahlen: Es gibt eine
Reihe von Analysen und Kennzahlen, die nicht abteilungsspezifisch sind.
Diese sollten innerhalb der Warehouse –Schicht durchgeführt und gepflegt
werden.
Schichtenübergreifende Dokumentation: Abhängigkeiten, Auswirkungen
und Herkünfte von Informationen müssen schichtenübergreifend analysiert
werden können. Zusätzlich sind auch die benachbarten Bereiche, die
operativen Vorsysteme und die Berichtswerkzeuge in die Dokumentation mit
einzubeziehen.
4.3.1 Aufwand nur einmal leisten
Die Vorteile, die sich ergeben, wenn eine zentrale Warehouse – Schicht zwischen
die konsolidierende Stage Schicht und die fachspezifischen Data Marts gesetzt wird,
können nicht deutlich genug betont werden. Denn damit ist es möglich viele
Aktivitäten, (ETL – Schritte, Erstellen von Kennzahlen und Standardberichten,
Erstellen von einheitlichen Datenkatalogen usw.) an zentraler Stelle einmalig
durchzuführen und durch den Wegfall redundanter und unkontrollierter Tätigkeiten
Aufwand zu sparen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
32/166
Die Warehouse – Schicht steht für einmaligen Aufwand und verhindert
unkontrolliertes „Werkeln“ in den Data Marts
Gerade in Verbindung mit dem Datenbank – basierten Warehouse (und den Oracle
– Techniken) macht diese Vorgehensweise besonders viel Sinn, denn durch das
Schichtenmodell wird logisch / methodisch untermauert, was in der Datenbank
technisch möglich ist. Hier sind Techniken angesprochen, Informationen im
Hintergrund durch Datenbank – Mechanismen aufzubereiten. Das sind automatische
Prozesse, die unabhängig von Benutzeranforderungen (Data Mart – Aktionen)
laufen können. Es entstehen zentral in der Warehouse – Schicht Warehouse –
Services, die von den nachgelagerten Data Mart genutzt werden können. Damit wird
in den Data Marts Aufwand gespart.
Metadaten kontrollierten die Zusammenhänge in dem 3 Schichtenmodell (Herkünfte
und Auswirkungen sind offengelegt)
4.3.2 Begriffsabgrenzung „Schichtenmodell“ und „Hub and
Spoke“
In ähnlichen Warehouse – Konzepten wird anstatt von 3 – Schichten Architektur
auch von Hub and Spoke – Architektur geredet. Der Begriff ist der graphischen
Darstellung nachempfunden, wobei mehrere Quellsysteme und mehrere Data Marts
wie Speichen eines Rads mit dem zentralen Warehouse verbunden sind.
Dieser Begriff ist schon alt (seit 1995). Bei der aktuellen Warehouse Architektur –
Betrachtung muss sich jedoch die Funktion jeder einzelnen Warehouse – Schicht
immer wieder hinterfragen lassen. Das kann dazu führen, dass Schichten ihre
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
33/166
Bedeutung verlieren oder neue Verwendungen hinzu kommen. Bei der hier
vorliegenden Architektur – Betrachtung wird z. B. das alte Konzept der verteilten
Data Mart hinterfragt und auf eine zusammenhängende einheitliche Data Mart –
Schicht hingearbeitet. Hier passt der Name Hub and Spoke nicht mehr.
4.3.3 Den Wechsel relationales / multidimensionales Speichern
durchbrechen
Viele historisch gewachsene Architekturen sind durch technische Einschränkungen
geprägt, wie sind in der Vergangenheit vorherrschten. Herkömmliche
Datenbanksysteme hatten Mitte der 90er Jahre noch nicht den Datendurchsatz und
die Flexibilität, die für die Bearbeitung multidimensionaler Datenmodelle und
komplexere Analysen notwendig war. Eine Folge dieser Einschränkungen war das
Herauslösen von Datenbereichen aus der Datenbank und das zusätzliche
Aufbereiten in dedizierten Auswertewerkzeugen mit eigener Datenhaltung. Darauf
aufbauende Architekturen haben zwar auch das mehrschichtige Modell verwendet,
allerdings wurde die letzte Schicht lediglich als Datengrundlage für die
nachgelagerten Auswertesysteme benutzt. Diese letzte Schicht stand den Benutzern
wie die Warehouse – und Stage – Schicht nicht zur Verfügung. Letztlich entstand
eine vierte Schicht, die Datenschicht des Auswertewerkzeugs selbst. Dies gilt vor
allem für die besonderen Auswerteanforderungen in den Bereichen komplex multidimensionale Analysen und Data Mining. Dass mit einer solchen
Vorgehensweise besonders hohe Aufwende verbunden sind, ist leicht nach zu
weisen. Diese Architekturen halten heutigen ROI – Betrachtungen nicht mehr stand.
Aufendige historisch gewachsene 4 – Schichten – Lösung
Die Entscheidung darüber, ob Daten zu Auswertezwecken physisch relational oder
physisch multidimensional vorgehalten werden, sollte eine dynamische
Entscheidung sein, die innerhalb des Datenbeschaffungsprozesses in der
Datenbank zu treffen ist. Nur so ist gewährleistet, dass man je nach Anforderungen
zwischen beiden Arten der Datenspeicherung umschalten kann, und zwar dann,
wenn eine der beiden Technologien Vorteile aufweist und nicht wenn eine Werkzeug
– Grenze überschritten wird. Wenn frei gewählt werden kann, an welcher Stelle
relational oder multidimensional gespeichert wird, dann bleiben diese Techniken
nicht mehr nur der Data Mart – Schicht vorbehalten.
Auf der Metadatenebene sollte es grundsätzlich keine Unterschiede geben.
Separate Auswerteschichten aufgrund eines Tool - Wechsels fallen weg. ETL –
Schritte
werden
weniger.
Frühzeitig
kann
im
Verlauf
des
Datenbeschaffungsprozesses bereits Vorsorge für eine spätere multidimensionale
oder relationale Speicherung getroffen werden, ohne dass Wege für eine alternative
Speicherung blockiert sind.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
34/166
Freie Wahl von multidimensionaler oder relationaler Datenspeicherung sowohl bei
der Definition als auch bei der Datenbefüllung
4.3.4 Wahlfrei den Ort einer Analyse bestimmen
Eine weitere wichtige Anforderung für effizientes Data Warehouseing ist die freie
Wahl des Ortes, an dem eine Analyse stattfindet. Ein großer Teil der Zugriffe auf das
Data Warehouse durch Benutzer (wenn nicht sogar die Mehrheit) sind Abfragen auf
Standardinformationen. Das sind Abfragebedürfnisse, die man bereits im Vorfeld bei
der Planung berücksichtigen kann. Es sind die bereits beschriebenen
Kennzahlenlisten oder einfach nur die Sammlung aller Standardberichte. Solche
Informationen sollten nur einmal aufbereitet werden. Wird eine Technologie
verwendet, die eine solche Analyse nur mit besonderen Mitteln (Auswertetools) an
besonderen Orten erlaubt, dann ist die Wahlfreiheit eingeschränkt. Die Aufbereitung
dieser Informationen sollte innerhalb der Oracle – Datenbank an zentraler Stelle
geschehen. Es gibt so gut wie keine Standardabfrage, die nicht mit relationalen
Bordmitteln der Datenbank vorbereitet werden könnte. Hierzu ist in der Regel keine
multidimensionale Speicherung nötig. Es z. B. die analytischen SQL Erweiterungen
wie Ranking und Windowing Funktionen (MIN/MAX OVER PARTITION, LEAD LAG,
RANK usw.). Diese Analysen sollten in der Regel in der Warehouse – Schicht
angesiedelt sein und dann für die Data Marts zentral zum Abrufen zur Verfügung
stehen. So müssen nicht unnötig viele Daten in die Data Marts kopiert werden.
Wahlfrei den Ort einer Analyse für Standardberichte festlegen
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
4.4
35/166
Transformationen
Transformationen haben die Aufgabe in den Quellsystemen einmal erfasste Daten in
die jeweiligen Schichten des Warehouses zu überführen und sie in eine
schichtenadäquate Form zu bringen. In der Regel handelt es sich dabei um
datenmanipulierende Vorgänge, wie sie in der klassischen SQL DML (Data
Manipulation Language) beschrieben sind. Darüber hinaus lassen sich
Transformationen in einem Data Warehouse kategorisieren:











Standardfunktionen Insert, Update, Delete, Merge (Insert/Update)
1:1 Transformationen (reines Kopieren, auch mit minimalen Änderungen)
Selektionen (z. B. Where – Klauseln, Bedingungen)
Gruppierende Transformationen (Aggregationen, Sortieren, Segmentieren)
Pivotierende Transformationen (Verändern der Kardinalität von Zeilen und
Spalten)
Berechnungen (einfache oder komplexe, Funktionen oder Programme)
Formatieren von Daten
Zusammenführende und spaltende Transformationen (Join / Split)
Anreichernde
Transformationen
(Referenzen
auslesen,
Lookups,
Konstanten, Fallunterscheidungen)
Aussortieren / Trennen von Datenbereichen
Prüflogik (logisch / fachliche und physisch / technische)
4.4.1 Wahlfrei den Ort der Transformation bestimmen
Das Schichtenmodell gibt bereits eine wichtige Orientierung darüber, an welchen
Stellen entsprechende Transformationen stattfinden müssen bzw. auch wahlfrei
stattfinden können. Dies ist eine erste Voraussetzung für effektiv platzierte
Transformationen. Ziel ist es, gleichartige Informationen auch nur an einer Stelle
einmalig zu erstellen, um so ETL – Aufwende zu sparen. Hierzu ist es
empfehlenswert, zunächst den gesamten Ladeprozess global zu betrachten. So
erkennt man gleichartige Aufgabenbereiche und findet die idealen Stellen der
Transformationen in der Gesamtarchitektur.
Wahlfreiheit bedeutet auch, dass es nicht passieren darf, dass nur aufgrund einer
besonderen Analyseanforderung am Ausgang des Warehouses noch zusätzlich
Ladeschritte erforderlich werden.
Die Mittel um unnötige Transformationen zu sparen sind:
 Das Trennen einer Warehouse – Schicht mit einem Komplettvorrat aller
wesentlichen Informationen und einer Data Mart – Schicht mit den
tatsächlich durch Benutzer abgerufenen Daten. Das ist das hier
beschriebene Schichtenmodell. Fehlt die Warehouse – Schicht, so erhöht
sich der gesamte ETL – Aufwand aufgrund doppelter Transformationen für
die separaten Data Marts.
 Das logische und physische Zusammenfassen der Data Marts an einer
Stelle. Dieses Verfahren sieht zwar für die verschiedenen Zielgruppen und
Abteilungen separate Auswertebereiche vor, die Auswertemodelle sind aber
dennoch so weit integriert, dass sie gemeinsam verwaltet werden können
[siehe separates Kapitel].
 Geschicktes Definieren von generalisierten Auswertmodellen. Das sind z. B.
granular gehaltene Starschemen. Spezielle Benutzerwünsche werden durch
Materialized Views abgedeckt. [siehe separates Kapitel].
 Ein Metadaten Repository, das alle Datenobjekte im gesamten Warehouse
– System dokumentiert und zwar Data Warehouse - und Data Mart –
übergreifend. Hier muss es möglich sein synonyme
und homonyme
Verwendungen von Datenobjekten durch gezielte Abfragen zu vermeiden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
36/166
Transformationsschritte sollten wahlfrei positioniert werden können, um sie
möglichst konzentriert einmalig anzuwenden
4.4.2 Durchgängige Verwendung der Datenbanksprache (SQL)
Da Warehouse – Systeme in der Regel auf der Basis von relationalen Datenbanken
aufgebaut sind, empfiehlt sich SQL als das naheliegende Sprachmittel, um die in
den Datenbanken gespeicherten Daten zu bearbeiten. SQL bietet alle Mittel um die
oben beschriebenen Transformationen durchzuführen. SQL hat sich über
Jahrzehnte als Datenbanksprache bewährt und wird ständig weiterentwickelt. SQL
DML bietet das sprachbezogene Pendant zu den Tabellenstrukturierungsmitteln von
SQL DDL.
Das Sprachmittel SQL sollte über alle Warehouse Schichten hinweg Anwendung
finden. Sowohl im Verlauf des Extrahierens, bei dem Wandern der Daten durch die
einzelnen Schichten, als auch
bei dem Aufbereiten der Daten für
Endanwenderberichte. Damit gelten im Einzelnen die Regeln:




Lesen mit SQL in Textdateien (anstelle von Datenbank –
Loaderprogrammen).
Lesen auf Remote – Quellen (relational wie hierarchisch). Zugriff erfolgt auf
eine Remote – Instanz, als wäre diese Bestandteil des eigenen
Hoheitsbereichs.
Lesen mit SQL auch auf multidimensionale Datenmodelle bzw.
Würfelstrukturen, auch wenn die Speicherungsstruktur nicht relational ist.
SQL generierende Abfragewerkzeuge.
Die Durchgängigkeit des Abfragemediums
 schafft einheitliche Sprachstile,
 standardisiert Datenlese- und Schreiboperationen (macht diese unabhängig
von den Aufgabenstellungen, macht sie vergleichbar und nachvollziehbar),
 vermindert zusätzlichen Lernaufwand für alle Beteiligten,
 erleichtert die Kommunikation über Datenflüsse im Projekt,
 verhindert das Aufkommen zusätzlicher proprietären Toolsprachen.
Hier nicht näher erläuterte Vorteile von SQL sind:
 Die Möglichkeit der mengenbasierten Transformation von Daten.
 Die Realisierung komplexer Logik durch neue SQL - Sprachmittel wie
CASE.
 SQL Erweiterungen wie Multiple Inserts, Merge und das Lesen mittels SQL
in Textdateien.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
37/166
Einheitliche Sprachmittel standardisieren alle Datenflüsse und Schnittstellen des 3
Schichtenmodells sowohl innerhalb des Systems als auch nach außen
4.4.3 Ladeprozess einfach und kompakt halten
Aufgrund der genannten Anforderungen sollten auch Ladeprozesse frei planbar
sein.
In
der
Vergangenheit
war
freie
Planung
des
Ladeund
Transformationsprozesses bereits schon durch die Wahl eines bestimmten ETL –
Tools behindert, denn das Tool setzte die Rahmenbedingungen. Daten wurden über
weite Wegstrecken hinweg aus der Datenbank ‚ausgecheckt’ und mussten solange
separat verwaltet werden, bis ein Transformationsschritt komplett beendet war. Das
Lesen aus der Warehouse – Datenbank und das Schreiben in die Datenbank hinein
stellten zusätzliche technologische Hürden dar.
Kann man über den gesamten Transformationsweg frei verfügen, so lassen sich
folgende Regeln für die Gestaltung festlegen:
 1:1 Transformationen vermeiden (gemeint ist auch das 1:1 Laden in die
Stage Area hinein).
o 1:1 Transformationen sind nur unnötige Ladeschritte, die faktisch
keinen Transformationsgewinn darstellen.
o In der Regel entstehen dadurch zusätzliche redundante
Speicherstellen mit dem entsprechenden Platzverbrauch.
o Die unnötigen Ladeaktivitäten verursachen zusätzlichen Entwurfs-,
Entwickelungs- und Verwaltungsaufwand. Zusätzliche Jobs sind zu
starten.
o Der so aufgeblähte Ladevorgang wirkt nach außen monströs und
unhandlich.
 Das Erstellen von wenigen, kompakten Ladeschritten sorgt für eine
unübersichtliche Gesamtstruktur.
 Objektbezogene Modifikationen bündeln. Das bedeutet z. B. Inserts,
Updates und Deletes für eine Tabelle sind in einem sog. Mapping
zusammenzufassen. Strukturänderungen an den Objekten lassen sich somit
gefahrloser an einer Stelle bündeln.
 Vor-, Nach- und Hauptverarbeitung von Objekten sind in einer Routine
übersichtlich zusammenfassen.
4.4.4 Durch Datenbank basierten Ladeprozess Ressourcen
schonen
Transformationen sollten innerhalb der Datenbank stattfinden. Hierdurch können
erhebliche Kosten- , Performance- und Flexibilitätsvorteile erzielt werden. Die
Datenbank selbst hat in der aktuellen Warehouse – Diskussion als optimale
Ladeinstanz zunehmend Bedeutung gewonnen und löst ältere Modelle (ETL Tools
der 1. und 2. Generation) ab.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
38/166
4.4.4.1 Zur Historie:
An dieser Stelle ist es angebracht, die Entwicklung von Ladewerkzeugen näher zu
betrachten. An ihr kann aufgezeigt werden, wie „landläufige Meinungen“ zu
Fehlentwicklungen bei der Architekturplanung führen, anstatt rational die Fakten
sprechen zu lassen.
Als Mitte der 90er Jahre das Thema Data Warehouse zum ersten Mal in der jetzigen
Form in aller Munde geriet, gab es einen besonderen Bedarf an Werkzeugen, die
Daten automatisiert in ein Data Warehouse laden konnten. Die Datenbanken selbst,
mit ihrem zu dieser Zeit noch rudimentären SQL, waren kaum geeignet,
Datenbewegungen oder Datentransformationen zu erledigen. Bis zu diesem
Zeitpunkt wurden dafür gerade in Mainframe – Umgebungen oftmals Programme in
Cobol oder PL1 geschrieben, was einen ständigen Programmieraufwand
verursachte. Es entstanden eine Vielzahl von individuellen Ladeprogrammen, die
das Operating zu verwalten hatte.
1993/94 starteten Newcomer mit der Idee Cobolprogramm – Code zu generieren um
zumindest den Programmieraufwand zu minimieren.
Die generierten Programme liefen schnell (weil compiliert), aber die Handhabung
gestaltete sich dennoch umständlich, weil bei jeder Änderungsanforderung, neu
generiert, der Code zum Host transformiert und dort compiliert/gelinkt werden
musste.
Das war die Chance der ETL – Tools der sog. „2. Generation“, wie sich Tools von
Informatica, Ascential, systemfabrik, Acta, Platinum u. ä. dann nannten. Sie glänzten
mit graphischen Oberflächen und einer bereits vorkompilierten Engine, die sich im
Workstation / PC – Umfeld bewegte und letztlich nur noch parametrisiert zu starten
war. Plattformunabhängigkeit wurde propagiert, lesen von n – Sourcen und
schreiben in n - Targets. Die Idee war neu und wurde schnell vom Markt
aufgenommen. Es gründete sich das Segment der ETL – Tools (Extraktion,
Transition, Load). Von nun an war ein neuer („Marketing-“) Standard gesetzt: Das
Laden von Warehouse – Systemen war mittels graphischen Oberflächen zu
entwerfen und ist durch eine sog. „Engine“ auf einem speziellen Server
durchzuführen.
Wie sich viele Techniken und Trends in der IT verselbständigen, so geschah dies
auch mit den „Tools der 2. Generation“.
War ein Warehouse neu aufzubauen, so gliederte sich diese Aktivität regelmäßig in
drei Teilbereiche:
 Datenbank (Datenhaltung)
 ETL - Tools (Extraktion, Transition, Load)
 Auswerteprogramme (Front End).
Die Beschäftigung mit der Historie ist wichtig, um zu verstehen, weshalb sich ETL –
Tools entwickelten. Verstanden werden muss, dass ihre Entwicklung aus der Not
der Stunde heraus sinnvoll war. Aber auch nur in dieser Not. Bereits ab Ende der
90er Jahre setzte eine schleichende Entwicklung auf dem Datenbankmarkt ein.
Neben der reinen Datenhaltungsfunktion entwickelten sich die Datenbanken mehr
und mehr zu einer umfassenden Datenmanagementumgebung. SQL entwickelte
sich zu einer mächtigen Programmiersprache. Nur einige Beispiele:
 Die CASE WHEN – Anweisung erlaubt bedingte Verarbeitungen
entsprechen der „if then else“ – Logik. Einer der fundamentalsten Bausteine
von Programmiersprachen.
 JOIN / OUTER JOIN, MINUS, UNION usw. erlaubt
gezielte
Mengenoperationen. Dies entspricht Schleifenoperationen.
 Ranking und Windowing Funktionen (MIN/MAX OVER PARTITION, LEAD
LAG, RANK usw.) machen analytische Operationen Out - of - the – Box
möglich, wofür zuvor Programme benötigt wurden.
 Noch gravierender sind Funktionalitäten, die unmittelbar durch die
Datenhaltung selbst bestimmt sind: Bedingtes Inserten gleichzeitig in
mehrere Tabellen oder das wahlweise Absetzen von Inserts oder Updates
(Merge).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur

39/166
Einen weiteren Schritte machte gerade die Oracle – Datenbank, als
unterschiedliche externe Datenstrukturen direkt in die Daten integriert bzw.
eingelesen werden konnten. Das sind z. B. Flat File oder XML Strukturen.
XML –Daten müssen erst gar nicht im Sinne von ETL interpretiert werden.
Man legt sie einfach innerhalb der Datenbank als XMLTYPE ab. Das
Datenbanksystem strukturiert sie innerhalb der Ablage, so dass jede
Information der XML – Struktur gezielt gelesen werden kann. Analog verhält
es sich mit Textdateien. Sie werden einfach als Tabelle innerhalb der
Datenbank deklariert und stehen damit jedem SQL – Zugriff offen.
So hat die Datenbankentwicklung die oben beschriebene Historie überholt. Aber es
bedarf einiger Energie, um gegen überkommene Vorstellungen anzukommen. Es
sind nicht nur die Hersteller der ETL – Tools, die die Notwendigkeit separater ETL –
Tools aus verständlichem Interesse heraus proklamieren, sondern (und hier schon
mal Entschuldigung für die deutlichen Worte) auch viele Berater, die es sicher gut
meinen, aber die Entwicklung bislang nicht erkannt haben.
4.4.4.2 Nachteile Engine – basierter ETL - Tools
Der Einsatz separater ETL – Tools hat im Vergleich zur Datenbanktechnologie
folgende Nachteile:
Nachteile Engine – basierter ETL – Werkzeuge
1. Verstärktes 1:1 Lesen. ETL – Engines können zwar Daten aus Flat – Files und
anderen Quellen direkt einlesen und verarbeiten, damit sind sie aber noch
nicht in der Datenbank gespeichert, sondern erst in dem ETL – Tool. Um den
Extraktionsschritt des ETL – Prozesses abzusichern, entscheiden sich viele
Entwickler für sog. 1:1 – Staging – Tabellen. D. h. die externen Daten, werden
zunächst einmal als Kopie ohne Modifikation in eine Stage – Tabelle gelegt.
Bei dem Datenbank – basierten Laden liegt das Ergebnis der Extraktion schon
sofort in einer Staging – Tabelle. Der Transportweg ist damit kürzer. Man kann
sich also eher dafür entscheiden, bereits bei der Extraktion einen
Verarbeitungsschritt einzubauen. Datenbankbasierte ETL – Prozesse sind
generell kürzer.
2. Die Verarbeitung der einzelnen Datensätze des Ladestroms erfolgt satzweise.
Selbst wenn es gelingt die Menge der zu verarbeitenden Sätze in mehrere
Portionen zu teilen, die dann über parallel gestartete Engines abgearbeitet
werden können, bleibt die Verarbeitung innerhalb der Pakete eine
satzorientierte. Der Datenbank - basierte ETL - Lauf, verläuft grundsätzlich
parallelisiert. D. h. das Datenbanksystem sorgt automatisch für die
gleichmäßige Ausnutzung mehrerer Rechnerknoten. Zudem findet die
Verarbeitung mengenorientiert innerhalb des Datenbankkernes statt. Das
Laden innerhalb der Datenbank ist bis 10 mal schneller, als das Laden mit
Engines.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
40/166
3. Insert / Update – Steuerung. Engine – basierte Werkzeuge, haben ein großes
Problem, wenn Sätze in die Datenbank geschrieben werden sollen und nicht
bekannt ist, ob ein Satz bereits da ist oder nicht. Es müssen immer eine Insert
- und im Fehlerfall des Inserts eine Update - Variante durch den Entwickler
vorgesehen werden. Der Datenbank – basierte Lauf nutzt hier die Merge –
Operation, bei der das Datenbanksystem selbständig von Insert auf Update
umspringt, wenn ein Satz bereits vorhanden ist.
Dies sind keine Nachteile eines bestimmten Tools, sondern generelle Nachteile, wie
sie entstehen, wenn man Daten außerhalb der Datenbank transformiert anstatt
innerhalb.
4.4.4.3
















Gründe für die Verlagerung des Ladeprozesses in die Datenbank
Wiederverwendung der Ressource Datenbank. Der Datenbankkern sorgt
nicht nur für die Datenhaltung, sondern auch für den Datentransport und die
Transformation. Es braucht dafür keine weitere Komponente gekauft zu
werden.
Bis zu 10 mal höhere Lade - Performance.
Einfacher Zugriff auf alle Datenbankobjekte und damit höhere Flexibilität des
Ladelaufs.
Ausnutzen des Datenbank – Security – Systems und damit besserer Schutz
der Daten im Verlauf des Ladeprozesses.
Absicherung der Ladeläufe durch klassische Datenbanksicherungsmittel
(Commit, Rollback).
Backup – System der Datenbank kann auch für die Objekte des
Ladeprozesses wieder verwendet werden (Ladeprozeduren, Design time –
Runtime –Metadaten).
Der Ladeprozess benötigt keinen zusätzlichen Hardwarebedarf.
Datenhaltungsserver und Ladeserver sind identisch.
Automatische Parallelisierung.
Ausnuten der Cluster- und Gridfähigkeit der Datenbank zu besseren
Skalierung.
Neue Funktionen in der Datenbank sind automatisch auch für den
Ladeprozess nutzbar.
Datenbankverwaltungsaufgaben können schnell und einfach im laufenden
ETL – Prozess erledigt werden. Z. B. das Ein – und Ausschalten von
Constraints, das Aktualisieren von Indizes, das temporäre Absetzen von
Grants, das Verwenden von Hints.
Verwenden aller Datenbank – Optionen z. B. Ausführen von Java –
Objekten, XML – DB – Strukturen, Zugriff auf Objekt – Relationale
Strukturen.
Zugriff auf Log – Informationen der Datenbank und damit eine Vielzahl
zusätzlicher Zugriffe auf operative Daten.
Ausnutzen der Realtime – Optionen der Oracle – Datenbank wie Streams,
Change Data Capture, Advanced Queueing.
Besondere Nähe zu multidimensionalen Objekten wie Dimensionale Tables
oder Analytical Workspaces.
Besondere Nähe zu den Data Mining Algorithmen in der Datenbank.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
41/166
4.4.4.4 Performance schaffen durch Mengen – basierte Transformationen
Transformationsprozesse in der Datenbank sind in der Regel Mengenoperationen.
Ein geschickt aufgebauter Ladeprozess nutzt mengenbasierte Operationen in der
Datenbank (Set Based) und vermeidet das Verarbeiten einzelner Sätze.
 Datenbank
–
Checkoptionen
(Constraints)
helfen
Prüfund
Fehlerverwaltungsaufwand vermeiden. Dies gilt hauptsächlich für
mengenbasierte Funktionen der Datenbank, z. B. für Ergebnis - Sets von
SELECT – Befehlen, die kombiniert werden können. Es gilt nicht für
Einzelprüfungen, wie etwa der Primary Key / Foreign Key - Prüfung. Diese
sind auszuschalten.
 Das Prüfen auf Vorhandensein von Daten in Zielstrukturen sollte durch die
Datenbank übernommen werden (Insert/Update – Management – Merge)
(Set based Operation).
 Constraints sind im Verlauf des Ladens zu deaktivieren.
 Parallelisiertes Wiederherstellen von Indizes, wenn diese nicht mehr aktuell
sind.
 Aufrufe von Stored Procedures sind zu vermeiden und wenn möglich durch
Funktionsaufrufe zu ersetzen. Wenn dennoch mehrere Rückgabewerte
benötigt werden, so ist die Prozedur in einer Table Function zu kapseln.
 Referenzprüfungen (Lookups) sind über Joins
zu lösen (Set based
Operation).
 Dynamisches SQL ist zu vermeiden. Dies führt meist zu einer satzweisen
Verarbeitung.
 Cursor sind zu vermeiden, wenn das Abarbeiten der Sätze des Cursors nur
über prozedurale Logik, z. B. Variablen – Wertezuweisungen, erfolgt.
 Cursor sind dann nutzbar, wenn ihre Abarbeitung mengenbasiert erfolgt, d.
h. z. B. in Verbindung mit Table Functions.
 CTAS: Werden temporäre Tabellen genutzt so ist die Variante „Create Table
Temp -Table as Select ....“ (CTAS) dem Schreiben mit reinen Insert –
Kommandos vorzuziehen.
 Match-Verhalten: Merge – Kommandos sind bei Insert/Update – Vorgängen
dem individuellen Prüfen auf Vorhandensein von Sätzen mit
anschließendem Exception – Handling vorzuziehen.
 Für Inserts und Updates werden keine separaten Ladebausteine erstellt. Die
gesamte auf eine Tabelle bezogene Verarbeitung sollte in einem einzigen
Baustein stattfinden.
 FK / PK Prüfungen sollten mittels Joins erfolgen und nicht über die
Constraint Prüfung der Datenbank. Die Constraints hierfür sollten
ausgeschaltet werden.
 Fehlerprotokollierung: Oft können Regelverletzungen von Quelldaten nur
durch eine Prüfung auf Satzebene protokolliert werden. Diese
Vorgehensweise führt dann wieder zu einer satzbezogenen also langsamen
Verarbeitung. Hier kann versucht werden die Prüfung auf Regelverletzungen
durch eine mengenbasierte Operation zu ersetzen. Z. B. ist das Prüfen der
Artikelnummern in den Bewegungsdaten (späteren Faktdaten) auf
Vorhandensein in den Stammdaten (Dimensionsdaten) über einen Anti –
Join bzw. eine MINUS – Operation möglich. Sind dennoch
Einzelsatzprüfungen nötig, so sind diese an wenigen Stellen in dem
Gesamtladelauf zu konzentrieren.
 Materialized Views sollten in einem Ladeszenario ON DEMAND gesteuert
sein, sich also nicht ständig im Verlauf des Schreibens in die Basistabellen
selbst aktualisieren.
 Indizes sollten deaktiviert sein und nach Ende des Ladelaufs aktualisiert
werden. Bei partitionierten Tabellen muss lediglich der Index der
aktualisierten Partition erneuert werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
42/166
Negativbeispiel:
Schlechtes Beispiel: Hier wird satzweise geladen. Innerhalb einer PL/SQL – Schleife
werden zusätzlich SELECT – Aufrufe für Lookups durchgeführt.
Positivbeispiel:
Zu bevorzugende Lösung: Alle Lookups werden mengenbasiert durchgeführt und
das Ergebnis in eine temporäre Tabelle geschrieben, die anschließend zum
Schreiben der korrekten Sätze in die Zieltabelle oder zum Schreiben von falschen
Sätzen in eine Fehlertabelle genutzt werden kann. Hierfür nutzt man einen „Multiple
Insert“.
4.4.4.5
Explizite Techniken zum Laden großer Datenmengen innerhalb von
Oracle Datenbanken
Das Laden großer Datenmengen und dann auch noch über Datenbankgrenzen
hinweg, kann zur Herausforderung werden. Dies war und ist eine immer
wiederkehrende Fragestellung. Einige grundsätzliche Vorgehensweisen sind in dem
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
43/166
vorhergehenden Punkt bereits genannt worden, z. B. Techniken, mit denen
mengenbasiert geladen werden kann. Hier weitere spezielle Punkte:
 Schnelle Platten: Einer der wichtigsten Einflussfaktoren sind die
Plattenzugriffe. Wenn das Plattensystem nicht schnell genug Daten liefert,
nutzen viele CPU’s und viel Hauptspeicher wenig. Gerade im Warehouse –
Umfeld sind Investitionen in schnelle Platten wichtig [siehe separate Punkte
weiter unten].
 Database Links: Database Links können Bremsen sein. Alternative
Konzepte hierfür sind:
o Verlagern von remote – liegenden Datenbanken in eine einzige
zusammenhängende Datenbank. Hier unterstützt die Cluster –
Technologie [siehe separates Kapitel].
o Verwenden von Transportablen Tablespaces. Diese können von
einem System zum anderen über Betriebssystemgrenzen hinweg
kopiert werden.
o Partition Exchange And Load [siehe unten].
o Verwenden von Data Pump. Hier werden Daten schnell aus einer
Quelldatenbank exportiert und in der Zieldatenbank wieder
importiert. Der Vorgang ist parallelisierbar [sieh hierzu die
Datenbankdokumentation].
4.4.4.6 Partition Exchange And Load (PEL)
Ein Verfahren sollte besonders hervorgehoben werden. Das Partition Exchange and
Load Verfahren (PEL). Dieses Verfahren ist bei partitionierten Tabellen einsetzbar.
Große Faktentabellen sind in der Regel partitioniert. Der besondere Vorteil besteht
darin, dass alle Daten – addierenden Aktivitäten zunächst in einer separaten, meist
temporären Tabelle vollzogen werden, was wesentlich schneller ist, als würde man
in einer großen Zieltabelle satzweise addieren. Durch entsprechende Befehle wird
diese kleine Tabelle als neue Partition an die Zieltabelle angefügt, das ist eine sehr
schnelle Operation. Bei Löschvorgängen können Partitionen schließlich leicht mit
DROP komplett entfernt werden. Notwendige Indexe werden auf der kleineren
Tabelle erzeugt. Der gesamte Index der Zieltabelle, bleibt damit unberührt. So läuft
auch das Erstellen der Indexe schneller.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
44/166
Verfahren Partition Exchange And Load (PEL)
4.4.5 Skalierungsanforderungen
Datenmanagement lösen
durch
intelligentes
In der Vergangenheit wurden gewünschte Leistungssteigerungen oft durch die
zusätzliche Bereitstellung von Hardware erkauft. Das Verlagern des
Ladeprozesses in die Datenbank ermöglicht intelligente datenbankbasierte
Leistungssteigerungen ohne zusätzliche Hardware.
 Ressourcen - intensive Ladeschritte sind zeitversetzt zu starten.
Weniger intensive können parallel gestartet werden. Hierzu ist die
Datenbank – interne Prozesssteuerung (Workflow) zu nutzen.
 In Abhängigkeit von der bereitstehenden Anzahl an Prozessoren kann
ein passender Parallelisierungsgrad eingestellt werden (DOP, Degree of
Parallelism).
Die Steuerung erfolgt sinnvoll ebenfalls durch die
Datenbank (PARALLEL_AUTOMATIC_TUNING).
 Partitionierung von großen Tabellen unterstützt die Parallelisierung
zusätzlich.
 Das geschickte Erstellen von temporären Tabellen ermöglicht
Transformationen auf der Basis ganzer Tabellen. Das Laden ganzer
Tabellen ist dem Laden über einzelne Sätze vorzuziehen
(Mengenbasierte Operationen vs. Satzbasierte Operationen / Set Based
versus Row based - siehe unten).
 Ersetzen von Ladeläufen und künstlichen Objekten durch
datenbankeigene Funktionen.
o Z. B. Aggregattabellen durch Materialized Views ersetzen spart
den separaten ETL - Schritt für das Aufbauen der
Aggregattabellen. (Aggregattabellen stellen in vielen älteren
Warehouse Systeme eine Option zur Performanceoptimierung
dar, indem man Abfrageergebnisse im Vorweg berechnet und
speichert. Dies machte Ladeläufe zusätzlich aufwendig. )
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
o
45/166
Das Verwenden von External Tables erspart das 1:1 Befüllen
von Stage Tabellen. (Dies ist auch eine Ersetzung des SQL
Loaders durch External Tables).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
46/166
4.4.6 Mit verteilten Architekturen den Ladeprozess flexibel
halten und Netzlast minimieren
Klassische
Datenbewirtschaftungslösungen
sehen
separate
Ladeund
Transformationsserver vor. Im Sinne einer Hub and Spoke – Hardware - Architektur
bündeln sich an einer Stelle alle Quelldaten und verteilen sich von dieser Stelle aus
wieder, um die Zieldatenbanken zu versorgen. Diese Architektur hat Nachteile:



Zusätzliche Netzlast durch das Ansteuern des Transformationsservers. Dem
wird häufig durch hohe Netzkapazität begegnet (zusätzlicher
Kostenaufwand durch besondere Hardware).
Bottleneck – Situation durch dedizierten Transformationsserver. Alle
Datenflüsse laufen über einen Server, der zur schwächsten Stelle der
Datenflusskette
wird.
Die Situation verschärft sich, da die eingesetzten Ladeprogramme lediglich
auf eine Einzelsatzverarbeitungslogik hin ausgerichtet sind. Parallelisierung
kann man nur durch zusätzlichen Aufwand erreichen. Eine vermeintliche
Lösung ist ein weiterer Transformationsserver, mit zusätzlichen Kosten- und
Wartungsaufwenden.
Die Daten - Situation in den Zieldatenbanken (z. B. Vorhandensein von
Sätzen, Zustand von Sätzen usw.) kann bei solchen Lösungen nur durch
zusätzliche Leseoperationen auf den Zieldatenbanken festgestellt werden.
Damit entsteht weiterer Netzverkehr.
Zusätzliche Netzlast bei unnötig vielen Servern (z. B. ETL Server)
Die Verlagerung des Transformationsprozesses in die Zieldatenbank liefert zwei
entscheidende Vorteile:
 Der Netzverkehr wird erheblich reduziert. Netzverkehr tritt nur noch im
Verlauf des Extraktionsschrittes (Lesen von den Quellsystemen) auf.
 Die Transformationslast kann schon allein durch das Vorhandensein von
Datenbankservern auf mehrere Instanzen verteilt werden, ohne dass
zusätzliche Server installiert werden müssen. Ein Netzwerk von
Datenbanken teilt Transformationsaufgaben unter sich auf.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
47/166
Verringerte Netzlast bei direkter Verarbeitung von Daten in der Datenbank und
Minimierung von Servern
4.4.7 Keine versteckten oder geschachtelte Transformationen
verwenden
Immer wieder findet man in programmierten Ladeprozessen geschachtelte oder
versteckte
Transformationen.
Gerade
in
graphischen
Editoren
für
Transformationsmappings
werden gerne Operatoren nicht separat definiert,
sondern Funktionsaufrufe in den Editorfenstern der Operatoren versteckt. Ein
Beispiel ist das Mischen von Join- und Where- Anweisungen. Das in der Datenbank
laufende SQL unterscheidet hier nicht, allerdings sollte man in den graphischen
Editoren für die verschiedenen Transformationsarten wegen der besseren
Dokumentation auch verschiedene Operatoren verwenden.
Wird mit separaten ETL – Tools gearbeitet, so muss komplexe Logik dann wieder in
die Datenbank verlagert werden. Die Dokumentation wird damit unübersichtlich.
4.4.8 Ladeläufe sollten umkehrbar und wiederholbar sein
Es kann immer zu Fehlern kommen. Dabei müssen nicht immer technische Gründe
vorliegen, wenn fehlerhafte Daten in das Warehouse gelangen:
 Eine liefernde Instanz kann Daten zweimal liefern.
 Die Reihenfolge von gelieferten Datenpaketen kann nicht stimmen
 usw.
Daher gehört es zu dem erfolgreichen Management von Ladeläufen, diese
umkehrbar und wiederholbar zu machen.
Soll ein Ladelauf umkehrbar sein, müssen die Daten wieder entfernt werden können.
Hierzu gibt es grundsätzlich drei Verfahren:



Einsatz von Partitioning.
Kennzeichnung von geladenen Daten
Commit - Setzung
4.4.8.1 Einsatz von Partitioning.
Hier werden alle geladenen Daten in eine Partition gestellt, die nach Belieben an die
Warehouse – Tabellen angehängt aber auch genauso leicht wieder entfernt werden
kann. Nachteilig mag der Verwaltungsaufwand sein, weil nicht nur eine Tabelle über
das Partition Exchange and Load (PEL) Verfahren bearbeitet wird, sondern
mehrere.
Hier müssen Scripte geschrieben werden. Wegen des Aufwands wird man nicht alle
Tabellen partitionieren. Das bedeutet, dass man sich für einen Teil der Tabellen
(oftmals die Stammdaten) ein anderes Verfahren zum Umkehren aussuchen wird, z.
B. die Kennzeichnung der geladenen Sätze.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
48/166
4.4.8.2 Kennzeichnung von geladenen Daten
Bei diesem Verfahren ergänzt man die geladenen Sätze z. B. durch eine
Ladelaufnummer oder eine Version oder einen Timestamp. Über diese
Kennzeichnung identifiziert man bei der Umkehrung alle zu löschenden Sätze.
[Hierzu mehr in dem separaten Kapitel „Kennzeichnung von Daten“, siehe dort].
Nachteile dieses Verfahrens sind jedoch die erhöhten Laufzeiten, wenn einzelne
Deletes auf die Tabellen abgesetzt werden.
4.4.8.3 Commit – Setzung
Die Datenbank erlaubt das gezielte Setzen von Commit – Punkten. So lassen sich
eine Reihe von logisch zusammenhängenden Daten komplett verarbeiten oder
komplett zurücksetzen. Dieses Verfahren ist allerdings nur bei einer überschaubaren
Anzahl von Sätzen sinnvoll, z. B. bei der Verarbeitung von Parent / Child – Paaren.
Der Vorteil liegt darin, dass mehrere Tabellen gleichzeitig und automatisiert
„zurückgerollt“ werden können und die Datenbank übernimmt den Vorgang
kontrolliert. Auch die Delete und Update – Änderungen, die sonst nur sehr
aufwendig verwaltet werden können, sind über diesen automatisierten Weg leicht
steuerbar. Wird dieses Verfahren eingesetzt muss man besonderen Wert auf
kleinere Verarbeitungsschritte legen. Die Größe der Verarbeitungsschritte orientiert
sich jetzt an der „Rückroll – Logik“.
4.4.8.4 Umkehrung von Updates und Deletes
Ein besonders kritischen Fall stellt die Umkehrung von Updates und Deletes dar.
Hier hat man keine andere Möglichkeit, als die von Updates oder Deletes
betroffenen Sätze vorher „zu retten“, sie also vorher in eine Art Schattentabelle zu
speichern.
Das führt immer zu einer Verdoppelung der einzelnen Ladeschritte:
1. Prüfen ob DELETE oder UPDATE stattfinden wird, wenn ja dann Schreiben
der zu modifizierenden Zielsätze in eine Schattentabelle.
2. Der eigentliche Ladelauf kann erfolgen.
3. Im Fehlerfall müssen die vorher in einer Schattentabelle stehenden Sätze
wieder an den Ursprungsort zurückkopiert werden.
4.4.8.5 Wiederholung von Ladeläufen
Wiederholung von Ladeläufen sind in der Regel unproblematisch, sofern die
Umkehrung des zuvor fehlgeschlagenen Ladelaufes erfolgreich war. Der eigentliche
Ladelauf ist wieder zu starten.
Die Frage bleibt, ob der Vorgang automatisiert werden sollte. Die Erfahrung zeigt:
nein. Denn es handelt sich in der Regel um Ausnahmesituationen, in denen jeder
Schritt genauestens kontrolliert ablaufen muss. Das sollte mit großer Konzentration
manuell durchgeführt werden. Der Aufwand dieses zu automatisieren, wäre zu hoch.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
49/166
5 Aufbau der Schichten des Data
Warehouses
5.1
Aufbau Sammelschicht / Staging Area
Die Staging Area ist die Schnittstellenschicht zu den operativen Vorsystemen des
Warehouses. Hier sollten alle Prüf- und Konsolidierungsaufgaben erledigt werden,
bevor die Daten in endgültiger Form in die Warehouse – Schicht gelangen. Die
Staging – Area ist die eigentliche ETL – Schicht. Hier sind z. B. temporäre
Arbeitstabellen zu finden, die in der Warehouse – Schicht nur stören würden.
Exemplarische Aufgabenstellungen sind:
 Abgleich zwischen Bewegungs – und Stammdaten (eventuell Dimensionen
im Warehouse nutzen).
 Prüfung auf
o Vollständigkeit der Daten und Mengenverhältnisse.
o Gültige Wertebereiche.
o Vorhandensein von Referenzdaten.
o Eindeutigkeit.
o Eliminieren von NULL – Werten.
 Normalisierung / Granularisierung von operativen Datenstrukturen als
Vorbereitung für die Warehouse – Schicht.
 Zusammenführung von vormals in operativen Systemen getrennten Daten
und das Bilden neuer Informationsobjekte.
Die Daten in der Stage Area sind:
 Temporär: Sie werden nach dem erfolgreichen Weiterverarbeiten wieder
gelöscht.
 Deltadaten: Die Stage – Daten stellen nur den für die Aktualisierungsperiode
des Warehouses benötigten Bestand der seit dem letzten Ladestand
veränderten operativen Daten dar.
Bezüglich des Lade – und Transformationsprozesses gelten folgende
Empfehlungen:
 Effiziente Extraktion: Bereits während des Extrahierens aus den
Quellsystemen sollte gefiltert und transformiert werden, um den
Ladeprozess zu beschleunigen und die Anzahl der Ladeschritte zu
verringen (Geringhalten der Komplexität).
 External Tables sind dem SQL Loader vorzuziehen weil hier zusätzliche
Jobaufrufe wegfallen und der Ladeprozess sich einfacher gestaltet.
 Temporäre Tabellen werden mit der Option CTAS ( Create Table As Select )
erzeugt und gelöscht, wenn sie nicht mehr benötigt werden.
 Indizes oder Constraints werden in der Regel nicht verwendet.
 1:1 Ladeaktivitäten sind zu vermeiden.
5.1.1 Orphan Management
Bewegungssätze ohne Bezüge zu den Stammdaten (Orphans) werden nicht in das
Warehouse übernommen. Sie sind zu isolieren und separat zu bearbeiten. Es gibt
Lösungen, in denen diese Sätze dennoch in die Zieltabellen gelangen. Dann ist
jedoch eine Markierung („nicht geprüft“) nötig und letztlich ein Update nach erfolgter
Validierung. Das ist ein aufwendiges Verfahren, das man am Besten vermeidet.
Erfolgreich in die Warehouse – Schicht geladene Sätze sind aus der Stage – Schicht
zu löschen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
5.2
50/166
Aufbau Warehouse Schicht
Die Warehouse – Schicht beinhaltet sowohl Bewegungs- als auch Stammdaten. Hier
ist die Obermenge aller Daten des gesamten Warehouse – Systems enthalten. In
der Regel liegen die Informationen in normalisierter Form vor.
5.2.1 Referenzdaten
Ein großer Teil der Informationen besteht aus Referenzdaten. Dies sind allgemeine
sog. Wissensdaten, die auch operativ nutzbar sind. Dies sind Informationen, die
üblicherweise nicht in den operativen Systemen zu finden sind. Es sind oftmals
zugekaufte, statistische Daten, Erhebungsergebnisse, Daten der statistischen
Landesämter usw.
Diese Informationen können als Referenzdatenhierarchien (Stammdatenhierarchien)
abgelegt sein. Es sind einzelne Tabellen die nicht notwendiger weisen zu einem
Gesamtkontext gehören. Die Tabellen können sich unter einander durch FK/PK –
Beziehungen referenzieren (Hierarchien). Es gelten die Empfehlungen:



Sie sollten den Warehouse – Benutzern zugänglich gemacht werden.
Da sie für Abfragen zur Verfügung stehen können, sind einzelne Indizes
sinnvoll.
Referenzdaten sollten nicht ausgelagert sein ( z. B. in Form von Flat Files).
5.2.2 Stammdaten
Das sind meist Kopien der Stammdaten aus den operativen Vorsystemen, allerdings
in einer konsolidierten Form. D. h. es sind Stammdaten aus mehreren Vorsystemen
in einem zusammenhängenden, normalisierten Datenmodell abgelegt. Bei einem gut
gepflegten unternehmensweiten Warehouse bietet sich hier die einmalige
Gelegenheit Abfragen über Stammdaten des gesamten Unternehmens durch
zuführen. Auch diese Daten sollten den Endanwendern zur Verfügung stehen. Diese
Einmaligkeit hat in manchen Systemen bereits dazu geführt, dass Fachanwender
aus den operativen Unternehmensprozessen eher im das Data Warehouse
Informationen such, als in den operativen Systemen selbst. Hier wird das Suchen
als weniger aufwendig empfunden, weil die Daten zusammenhängend und
strukturiert vorliegen.
5.2.3 Bewegungsdaten
Bewegungsdaten entsprechen den Transaktionsdaten der operativen Systeme. Bei
dem Umgang mit den Bewegungsdaten in der Warehouse - Schicht müssen
Kompromisse gefunden werden. Denn es ist nicht immer einsehbar, warum gerade
die voluminösen Bewegungsdaten mehrfach verteilt über die gesamte Warehouse –
Schicht vorkommen müssen. Es entstehen folgende Fragen:
 Welche Bewegungsdaten sind vorzuhalten, die von der aktuellen
Ladeperiode oder alle Bewegungsdaten des Historisierungszeitraums, also
u. U. mehrere Jahre?
 Werden Daten des gesamten Historisierungszeitraums in der Warehouse –
Schicht vorgehalten, dann sind auch die Stammdaten zu historisieren.
 Was geschieht, wenn eine Historisierung in der Warehouse – Schicht
bereits vorgenommen wurde, mit den Data Marts?
Weiter unten wird hierzu ein pragmatischer Vorschlag gemacht, wonach in der
Warehouse – Schicht nur die aktuelle Ladeperiode vorgehalten und nicht historisiert
wird.
5.2.4 Historisierung in der Warehouse – Schicht
Da Warehouse – Systeme historische Zustände in den Unternehmen messen, muss
auch die Situation der Stammdaten zu unterschiedlichen historischen Zeiten
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
51/166
nachvollzogen werden können. Hierzu gibt es Historisierungsverfahren (Slowly
Changing Dimensions), die an dieser Stelle nicht näher beleuchtet werden sollen.
Bezüglich der Architektur ist, wie bereits erwähnt, eine Entscheidung zu treffen, wo
die Stammdaten historisiert werden. Dies kann in der Warehouse – oder Data Mart –
Schicht geschehen. [Siehe hierzu separates Kapitel.]
Referenzdaten werden nicht meist nicht historisiert.
5.2.5 Abgrenzung zum Operational Data Store
Operational Data Stores bieten einfache, schnelle Datenzugriffe für Mitarbeiter aus
den operativen Unternehmensprozessen. Ein solcher Operational Data Store hat
jedoch wenig Zweck, wenn bereits die Warehouse – Schicht sehr einfache Zugriffe
erlaubt, weil sie z. B. keine Historisierung hat und nur Daten der aktuellen
Berichtsperiode enthält.
5.2.6 Auswertungen direkt in der Warehouse - Schicht
Die Daten der Warehouse – Schicht sind für Auswertezwecke nicht optimiert (mit der
Ausnahme von Indexen), auch wenn sie für Auswertezwecke zur Verfügung stehen
können (vgl. Referenzdatenhierarchien). Die Warehouse Schicht ist für Endbenutzer
nicht abgeschottet, gerade die vielen Referenz- und Stammdaten sind für
Endbenutzer eine ideale Informationsquelle. Die Bereitstellung der Warehouse –
Schicht – Daten für Endbenutzer bedeutet ein Mehraufwand an Hilfestellungen und
Vorkehrungen.
Datenarten in dem 3 Schichtenmodelle
Greifen Benutzer auch auf Daten der Warehouse – Schicht zu, ist es besonders
wichtig, dass die Benutzer über alle Strukturen des gesamten Systems (mit
Ausnahme der Stage – Schicht) informiert werden. Hier wird die Bedeutung der
Metadaten deutlich, die über alle Schichten hinweg dokumentieren. Diese
Metadaten müssen auch den Fachbenutzern zur Verfügung stehen. Die Metadaten
sind in Form von Metadaten – Browsern bereit zustellen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
52/166
5.2.7 Funktionale Bestandteile der Warehouse – Schicht
Neben den vorgenannten strukturellen Aufgaben der Warehouse – Schicht
(Datenarten und Datenmodelle) hat sie auch funktionale Aufgaben zu übernehmen.
Um Aufwende in den Data Marts zu minimieren, sollten redundanten Aufgaben in
den Data Marts einmalig in der Warehouse – Schicht realisiert sein. Das sind:
 Datenbereitstellungen (ETL – Prozesse). Immer wieder muss beobachtet
werden, dass ein und dieselben Informationen in den unterschiedlichen
Data Marts mit ähnlichen Transformationen hergeleitet werden.
 Einmalig erstellte und gepflegte Kennzahlen sowie Standardberichte. Das
sind z. B. viele Standard - Ranking – Analysen. Betrifft eine Analyse
unternehmensweite Daten, so muss sie nicht immer wieder neu in den Data
Marts umgesetzt werden. Einmal in der Warehouse – Schicht tut es auch.
 Anwendungen von Materialized Views.
Metadaten steuern Benutzer auch in die Data Warehouse Schicht, in dem sie Listen
der zentral vorgehaltenen Informationen bereithalten.
5.2.8 Security – Aspekte in der Warehouse - Schicht
Daraus folgt, dass die Data Warehouse - Schicht für Endbenutzer öffentlich sein
muss. Das ist ein Dorn in den Augen mancher Warehouse – Administratoren, die am
liebsten die Warehouse – Schicht für Endbenutzer verschließen möchten. Zum
Schutz der Daten gibt es jedoch andere Möglichkeiten:
 Die Verwendung von Synonymen und damit Verweis von einem
Datenbankschema in ein anderes. Damit werden nur bestimmte Tabellen für
Endbenutzer sichtbar.
 Die Verwendung von Label Security in der Datenbank. Hier wird ein
satzbezogener Schutz in die Tabellen eingebaut. So können
„gruppenübergreifende
Einblicke“
vermieden
werden.
Eine
Art
Mandantenfähigkeit entsteht.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
5.3
53/166
Aufbau Auswerteschicht
Die Auswerteschicht des Warehouse – Systems (Data Mart) bedient spezifische
Endbenutzeranforderungen, für die die Warehouse Schicht nicht flexibel genug bzw.
zu schwerfällig ist. Das sind auch bereits die beiden Hauptanforderungen an die
Auswerteschicht:


Bereitstellung von ausreichender Abfrageperformance.
Endbenutzergerechte Bereitstellung der Abfragedaten (übersichtlich und
geschäftsobjektbezogen).
Beide Anforderungen sind nur in Abhängigkeit von der Art der Speicherung
realisierbar. Da unterschiedliche Endbenutzeranforderungen bestehen, muss die
Auswerteschicht auch unterschiedliche Speicherungsmöglichkeiten anbieten.
Folgende vier Modellvarianten sollten vorhanden sein:




Normalisierte Strukturen – sinnvoll für Referenzdaten, die aus
pragmatischen Gründen in der Auswerteschicht und nicht in der Warehouse
– Schicht liegen.
Starschema – Das Auswertemodell für eine große Anzahl von Detaildaten.
Würfelstruktur – Das Modell für komplexe Analysen auf verdichteter Ebene.
Gezielte denormalisierte Strukturen für besondere Verwendungen (z. B.
Data Mining Tabellen, Exporttabellen für nachgelagerte Verarbeitungen
usw.)
5.3.1 Allgemeine Empfehlungen






Das bevorzugte Datenmodell in der Auswerteschicht ist das Starschema.
Die früher häufig anzutreffenden Aggregattabellen können und sollten heute
durch Materialized Views ersetzt werden. Der Vorteil liegt in der
Vereinfachung des ETL – Prozesses, da sich Materialized Views
selbständig aktualisieren. ETL – Schritte fallen weg.
Vorhersehbare Auswertungen, sollten bereits innerhalb der Datenbank
vorbereitet werden. Das betrifft in der Regel den größten Teil der
Standardberichte. Hier ist zu verhindern, dass größere Datenbestände die
Datenbank verlassen müssen, um sie außerhalb aufzubereiten.
Standardberichte sollte man mit Hilfe von SQL bzw. analytischen
Funktionen und Materialized Views vorformulieren.
Das Aufbereiten von Standardberichten ist bereits als Bestandteil des
Ladeprozesses zu sehen. In der ganzheitlichen Betrachtung des gesamten
Informationsgewinnungsprozesses liegen in der Regel mehr Möglichkeiten
auch für die Berichtsaufbereitung. Es entsteht Flexibilität, weil zwischen
alternativen Lösungswegen gewählt werden kann.
Die Dimensionen leiten sich aus den normalisierten Strukturen der
Warehouse Schicht ab.
Separate Datenhaltungen für spezielle Auswertungen sollten vermieden
werden. Alle zur Auswertung benötigten Daten (auch Data Marts) sollten
sich physisch an einer Stelle befinden.
o Dies bietet die größere Flexibilität weil vielfältigere Möglichkeiten zur
Berichtserstellung gegeben sind.
o Es garantiert, dass sinnvolle Datenbank – Features auch tatsächlich
genutzt werden und nicht brach liegen.
o Bzgl. des Gesamtsystems können Synergien genutzt werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
54/166
5.3.2 Durch Granularisierung mehr Informationsvorrat und damit
mehr Flexibilität
Früher / Heute: Mehr Flexibilität und Informationsvielfalt durch feinere Granularität
Die Granularität der Daten in der Faktentabelle hat eine besondere Auswirkung auf
die Informationsvielfalt des Starschemas. Aufgrund technischer Beschränkungen
von älteren Datenbank – Releasen wurden in der Vergangenheit oftmals für
unterschiedliche Abfrage – Level mehrere Faktentabellen gewählt oder sogar
Aggregattabellen gebildet. Heute detailliert man Daten wesentlich stärker. In vielen
Starschemen liegen die Daten der Faktentabelle auf dem Level operativer
Transaktionen. Das spart einerseits aufwendige Aggregationen in dem ETL –
Verfahren schafft aber andererseits ein Mehr an Auswertungsflexibilität. Auf ein und
dieselbe Faktendatenstruktur können Abfragen mit unterschiedlichen Verdichtungen
abgesetzt werden. Um dennoch das Aggregieren nicht zum Abfragezeitpunkt
durchführen zu müssen, sind Materialized Views eingerichtet, die die klassischen
Summentabellen oder separaten Faktentabellen ersetzen.
Können alle Abfragen über eine einzige Faktentabelle erledigt werden, so ist das
Starschema
wesentlich
effizienter.
Abfragen
können
über
beliebige
Verdichtungsstufen (GROUP BY) auf die selben Objekte formuliert sein.
Früher/Heute: Ineffiziente, ältere Strukturen zur Bereitstellung mehrere
Granularitätsebenen
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
55/166
Schließlich können mit granularisierten Starschemen mehr Zielgruppen
angesprochen werden (siehe dort) ohne dass zusätzlicher Aufwand betrieben
werden muss.
5.3.3 Data Mart
Die Auswerteschicht kann aus mehreren Data Marts bestehen. Ein Data Mart ist
lediglich eine logisch verstandene Zusammenfassung für einen Unternehmensoder Prozessausschnitt. Um die Daten in unterschiedlichen Data Marts synchron zu
halten, (gleiche Ergebnisse bei Abfragen in unterschiedlichen Data Marts) können
Dimensionen auch Data Mart – übergreifen genutzt werden. Es sollte in
unterschiedlichen Data Marts z. B. nicht mit unterschiedlichen Partner- oder
Kundenstammdaten gearbeitet werden.
Die technische Realisierung dieser Anforderung kann schwierig sein, wenn sich
Data Marts in unterschiedlichen Systemen (Servern) befinden. Dies ist häufig bei
abteilungsbezogene Data Marts der Fall. Hier zahlt sich der Architekturansatz des
zentralen Warehouses aus. Hier gibt es zwar fachbezogene Data Marts. Diese sind
physisch jedoch innerhalb der selben Datenbankinstanz eventuell sogar innerhalb
desselben Datenbankschemas installiert.
Eine Hilfestellung für verteilte Data Marts kann die Bereitstellung von
dimensionsähnlichen Strukturen in der Warehouse
– Schicht sein:
Zusammengehörende Datenstrukturen werden als sog. Tabellenhierarchien in der
Warehouse
Schicht
bereits
abgelegt.
Sie
entsprechen
den
Referenzdatenhierarchien der Warehouse - Schicht. Die Hierarchielevel sind
separate Tabellen. Die Tabellen besitzen aber bereits entsprechend ihrer
hierarchischen Anordnung FK/PK – Beziehungen. Die Dimensionen der Data Marts
sind nachgelagerte Strukturen, die im Rahmen des ETL – Prozesses zu pflegen
sind.
Einmalige, normalisierte Tabellen der Warehouse – Schicht versorgen und
synchronisieren unterschiedliche Data Marts mit verschiedenen Sichten
5.3.4 Starschema
Das bevorzugte Datenmodell in der Auswerteschicht ist das Starschema. Es vereint
zwei Vorteile:

Es ist eine besonders intuitive (auch visuelle) Darstellung von
betriebswirtschaftlichen Fragestellungen (Verwendung von geordneten
Geschäftsobjekten über die sich Kennzahlen abfragen lassen).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur


56/166
Das sog „Browsen“, also das Navigieren über Attribute und Hierarchielevel
hinweg, ist in zusammenhängenden flachen Dimensionstabellen eines
einfachen Starschemas leichter, als in den normalisierten Ästen eines
Snowflake – Modells. Dies vereinfacht auch die Zugriffe für
Abfragewerkzeuge. Das einfach strukturierte Starschema lässt sich von
wesentlich mehr Auswertewerkzeugen effizienter und leichter auswerten.
Daher gewinnt man bei der Auswahl von Auswertewerkzeugen zusätzliche
Freiheiten.
Das technische verstandene Datenmodell des Starschemas (die
Datenbanktabellen) wird durch die Datenbank besonders vorteilhaft
unterstützt. Abfragen laufen schneller. Gründe und Hilfsmittel sind:
o Wegfall vielen Joins einer normalisierten Struktur
o Besondere Unterstützung des Query Rewrite Verfahrens der
Materialized Views durch Dimensional Table Objekte in der
Datenbank. Sie werden zusätzlich zu den Dimensionstabellen des
Starschemas definiert und geben steuernde Hinweise für den
Optimizer für das internen Umschreiben der Abfrage – SELECT –
Statements.
o Einsatz von Bitmap – Indizierung in Verbindung mit dem internen
Verfahren der Star – Transformation. Es wird eine ganz bestimmte
Reihenfolge der Join – Auflösungen bei Abfragen auf Starschemen
eingehalten.
o Partitionierung großer Faktentabellen und Join – Partitioning. Hier
wird sowohl die Faktentabelle als auch die zugehörige
Dimensionstabelle partitioniert und auf der Ebene der Partitionen
gejoint was natürlich bei Abfragen schneller ist.
Technische Optimierungen der Datenbank für das Starschema gegenüber dem
Snowflake, hier im Beispiel die potentiellen Joins zwischen den Tabellen
5.3.4.1


Empfehlungen für den Aufbau der Dimensionen
Auch auf die Gefahr hin sich zu wiederholen: Dimensionen sollten aus nur
einer physischen Datenbanktabelle bestehen. Das hat zwei Gründe:
o Zum einen fallen Joins weg und Abfragen laufen schneller.
o Zum anderen ist es eine Hilfe für Endbenutzer und die Werkzeuge,
mit denen die Benutzer auf das Starschema zugreifen, es ist
einfacher auch eine Tabelle zuzugreifen, als auf mehrere.
Alle Dimensionen sollten Verwaltungsattribute haben wie:
o
o
Zuletzt_geaendert_Am
Zuletzt_geaendert_Von
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur

57/166
Solche Attribute helfen z. B. bei der möglichen Nachverfolgung von
fehlerhaften Einträgen.
Dimensionen sollten einfach und überschaubar sein. Damit unterstützt man
den Endanwender. Nicht häufig genutzte Attribute sollten entweder komplett
aus dem Starschema entfernt oder in eine separate Dimension ausgelagert
werden.
Auslagern von häufig genutzten Attributen einer Dimension in eine zweite schafft
Übersichtlichkeit und u. U. auch eine bessere Abfrageperformance



Code – Attribute sollten vermieden und durch sprechendere Attributinhalte
ersetzt werden (Beispiel Artikelnummer/Artikelbeschreibung). Codes sind
hilfreich für operative Systeme aber nicht für Auswertesysteme. Sprechende
Attributnamen und Inhalte unterstützen die Orientierung des Benutzers. Hier
ist zu berücksichtigen, dass Auswertewerkzeuge Attributinhalte im Verlauf
der Auswertung als Abfragekriterium verwenden und dynamisch anzeigen
(Umbenennung von Attributen). Wählt man bereits für die Tabellen in der
Datenbank sprechende Attributnamen, so müssen die Auswertewerkzeuge
nicht mehr „umcodieren“, auch wenn es ein noch so nettes Feature in den
Tools ist.
Hierarchielevel innerhalb der Dimensionen sind durch
Präfixe zu
kennzeichnen. Dies erleichtert die Zuordnung. Auswertewerkzeuge sollten
eine eigene graphische Darstellung für Hierarchielevel besitzen, um dem
Endbenutzer die Navigation innerhalb der Dimension zu erleichtern.
Operativ genutzte Daten sollten in separate Tabellen ausgegliedert werden.
Z. B. sollten Adressdaten nicht in Kundendimensionen enthalten sein. Das
wäre zu unübersichtlich. Hierfür verbindet man die Dimension über eine 1:1
Beziehung mit der separaten Tabelle.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
58/166
Auslagern von operativ genutzten Attributen (z. B. Adressdaten) in eine von der
Dimension abhängigen Tabelle (1:1 Kardinalität)




Dimensionen, die nur ein Attribut beinhalten, können auch in die
Faktentabelle verlagert werden.
Dimensionen sollten bereichserläuternde bzw. zusätzlich qualifizierende
Informationen beinhalten. Z. B. Zeitbezüge in der Zeitdimension wie „Letzter
Tag im Monat / im Quartal“ oder „zugehoerig zu Hauptverkaufsgebiet“ oder
„Produkt Kategorie A“. Solche Informationen vereinfachen die späteren
Abfragen der Benutzer.
Die Hierarchielevel sollten sich durch eindeutige 1:N Zugehörigkeiten
auszeichnen. Die 1:N Kardinalität ist zu prüfen.
Parallel Hierarchien, d. h. Hierarchien mit demselben Primary Key –
bildenden Attribut, sollten in einer Dimension zusammengefasst sein, anstatt
mehrere daraus zu bilden, es sein denn, es ist bewusst so gemacht worden,
um die Übersichtlichkeit zu erhöhen.
5.3.4.2 Indizierung und Schlüssel beim Aufbau der Dimensionen
Die Struktur des Primary Keys einer Dimension kann sowohl Auswirkungen auf die
Abfrageperformance im Starschema haben, als auch die Komplexität des
Ladeprozesses beeinflussen. Grundsätzlich muss über einen Primary Key die
Eindeutigkeit aller Sätze der Dimension garantiert sein. Nur so ist eine reibungsfreie
Zuordnung von Sätzen der Faktentabelle zur Dimension gewährleistet.
Aus der klassischen Datenmodellierung können bereits Regeln für den Aufbau von
Primary Keys entnommen werden:
 Kurz und einfach benutzbar (Speicherplatz sparen! Fehler vermeiden!).
 Nach Möglichkeit nicht zusammengesetzt (lesende Programme, die später
über die Schlüssel zugreifen wollen, müssen entsprechende Werte zu allen
Schlüsselkomponenten zusammensuchen). Gerade unbedarfte Benutzer,
die mit Auswertewerkzeugen auf Dimensionen zugreifen wollen, müssen
unnötig viele Informationen parat haben, um zu eindeutigen Abfragekriterien
zu gelangen.
 Es sollten keine Felder gewählt werden, die eventuelle NULL-Werte
beinhalten können. NULL - Werten sind nicht mehr eindeutig.
 Die Column – Werte sollten stabil und nicht ständigen Änderungen
unterworfen sein (z.B. ändern sich Nachnamen durch Eheschließung).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
59/166
5.3.4.3 Künstliche und originäre Schlüssel
Die einfachste Variante der Primary Key – Bildung ist die Verwendung von
künstlichen Schlüsseln. Sie erfüllen am ehesten die vorgenannten Anforderungen
und sind schnell im Rahmen des ETL – Prozesses über Sequenz –
Datenbankobjekte gebildet. Künstliche Schlüssel neutralisieren zudem die
unterschiedlichen Ausprägungen der originären Schlüssel, die in Stammdaten
vorkommen können. Ein – und dieselbe Stammdateninformation kann in
unterschiedlichen operativen Systemen über unterschiedliche Bezeichner (originäre
Schlüssel) identifiziert sein. Das Data Warehouse muss diese synonymen
Information zusammenführen und über einen neutralen (künstlichen) Schlüssel neu
identifizieren. Der künstliche Schlüssel ist der gemeinsame Nenner. In der Regel ist
der Primary Key der Dimensionen ein künstlicher Schlüssel.
In den Auswertewerkzeugen sind solche künstlichen Schlüssel vor dem
Endbenutzer zu verbergen, da sie keine fachliche Information beinhalten. Die
Abfrageperformance ist durch die Wahl von künstlichen Schlüsseln nicht berührt.
Künstliche Schlüssel führen allerdings zu Mehraufwand im Ladeprozess.
Bewegungsdaten kennen den künstlichen Schlüssel in den Dimensionstabellen
nicht. Bei dem Einfügen der Bewegungsdaten in die Faktentabelle muss jeder Satz
um den neuen künstlichen Schlüssel aus der entsprechenden Dimensionstabelle
ergänzt werden. Hierzu ist eine Leseoperation in die Dimensionstabelle nötig. Die
Dimensionstabelle besitzt hierfür
korrespondierende
Felder über die die
Entsprechung von künstlichem zu originärem Schlüssel abfragbar ist. Das sind meist
die Originalschlüssel. Das Lesen der künstlichen Schlüssel aus den
Dimensionstabellen sollte mittels Join erfolgen (Set Based).
Je mehr synonyme Verwendungen in den operativen Systemen stattfinden, um so
mehr Vergleichsfelder bzw. künstliche Schlüssel beinhalten die Dimensionstabellen.
Liegen einmalige, kaum veränderliche originäre Schlüssel vor, so ist u. U. die
Vergabe von künstlichen Schlüsseln nicht nötig. Das vereinfacht das ETL Verfahren.
Unterschiedliche Verwendung von Stammdatenschlüsseln in verschiedenen
Anwendungen und die Notwendigkeit der Umschlüsselung
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
60/166
5.3.4.4 Verwendung von Btree und Bitmap – Indizes
Bei einem Bitmap – Index wird im Gegensatz zu einem Btree – Index für jedes
Vorkommen eines Attributinstanzwertes ein „Bit“, also eine 1 verbunden mit dem
entsprechenden Pointer gesetzt. D. h. dass Instanzwert ein „Bitstrom“ existiert. Da
es sich hier sehr computergerechte Speicherungsform handelt (die inhaltliche
Information ist ja bereits auf 1 und 0 heruntergebrochen) handelt es siech hier um
einen sehr schnell lesbaren Index, während der Btree – Index ganze „sprechende“
Begriffe indiziert. Nachteil des Bitmap – Index ist die Tatsache, dass je nach Anzahl
der unterschiedlichen Instanzen in einem Attribut (Column), es auch viele einzelne
Datenströme geben muss. Eine Performanceabhängigkeit von der Menge ist
gegeben. Es gelten die Regeln:
 Auf Columns mit geringer Kardinalität und häufigen Einschränkungen in
Where – Klauseln sollten Bitmap – Indizes gelegt werden. Hier gilt ein Wert
von 5% Wertvorkommen pro Anzahl Sätze in der Tabelle.
Kandidaten für Bitmap – Index im Starschema
Dies betrifft meist die Columns der Dimensionen, die am weitesten außen liegen.
Sehr stark denormalisierte Strukturen sind Kandidaten
für Bitmap Indizes
(vorausgesetzt, sie kommen in Abfragen vor).
5.3.4.5

Empfehlungen für den Aufbau der Faktentabelle
Granulare Daten. Die heutige Datenbanktechnologie erlaubt das Aufbauen
auch von sehr großen Faktentabellen. Deswegen können bei
ausreichender Performance auch viele Detaildaten in den Faktentabellen
gespeichert werden. Faktentabellen sollten so granular wie möglich
aufgebaut sein. Das gibt mehr Spielraum für beliebige Aggregationen
entweder zum Abfragezeitraum oder als Materialized Views. Das bedeutet
als Konsequenz:
o
o


keine separaten Faktentabellen aufbauen nur um eine zusätzliche
Aggregatschicht zu gewinnen
keine separaten Faktentabellen aus Performancegründen
Separate Faktentabellen sollten erstellt werden, wenn nicht voneinander
ableitbare Kennzahlen vorliegen, also keine berechenbare Bezüge
herstellbar sind.
Unterschiedliche Faktentabellen sollten über gemeinsam genutzte
Dimensionstabellen in Bezug zu einander gesetzt werden können, um
sogenannte Drill Across – Abfragen zu ermöglichen. Das sind Abfragen die
über mehrere Faktentabellen gleichzeitig Daten beziehen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur




61/166
Die PK/FK Datenkonsistenz zwischen Fakten- und Dimensionstabellen ist
zu prüfen. Diese stellt Hilfsmittel zur Performanceoptimierung für den
Datenbank – Optimizer dar.
Die Faktentabelle besitzt keinen eigenen Primary Key und entsprechend
auch keinen Primary Key – Constraint. Es sind also auch Sätze mit
identischen Feldinhalten erlaubt, was bei Bewegungsdaten fachlich nicht
falsch sein muss.
Alle durch die Dimensionstabellen in die Faktentabelle migrierten Foreign
Keys werden einzeln mit einem Bitmap Index belegt. Dies sollte einheitlich
erfolgen, d.h. von der Regel sollte auch dann keine Ausnahme gemacht
werden, wenn die Kardinalität einzelner Spalten die erwähnte 5 % Grenze
überschreitet. Diese Regel ist wichtig, um das Funktionieren der
Startransformation zu garantieren. Ohne Bitmapindizierung in der
Faktentabelle funktioniert diese nicht.
Faktentabellen sind die Hauptkandidaten für Partitionierung.
Schlüsselbildung im Starschema
5.3.4.6 Satzübergreifende Konsistenz in der Faktentabelle
Die Sätze in der Faktentabelle sollten die gleichen Informationen beinhalten.
Vermieden werden sollte die Notwendigkeit mehrere Sätze lesen zu müssen, um
alle Informationen zu einem Sachverhalt zu bekommen.
Beispiel A:
Auf mehrere Sätze verteilte Informationen
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
62/166
In Beispiel A muss die Auswertung zunächst 2 Sätze lesen, bevor die vollständige
Information zu Plan- und Ist-Kosten des Arbeitsgangs vorliegen. In Beispiel B ist die
Information bereits nach dem lesen eines einzigen Satzes vorhanden.
Beispiel B:
Alle Informationen sind in einem Satz konzentriert
Diese Vorgehensweise minimiert die Aufwände für die Auswertewerkzeuge. In
manchen Einsatzfällen kann es vorkommen, dass die vollständige Information zu
einem Satz nur über mehrere Ladenläufe hinweg zur Verfügung steht. In diesem Fall
müssen die Sätze nach und nach mit Update – bearbeitet werden auch wenn
Updates teuer sind. (In dem neuen Datenbank Release 10 g sind Update –
Operationen mengenbasiert möglich. Das steigert die Performance.) Eine andere
Variante ist das erstellen einer temporären Zwischentabelle.
5.3.5 Einsatz
von
Materialized
Summentabellen
Views
anstelle
von
Frühere Warehouse – Systeme bestanden zu einem großen Teil aus
Summentabellen. Sie waren oftmals das Herz der Systeme. So war auch eine der
häufigsten Erwartungen an die Systeme, dass die wesentlichen Informationen nur in
Form von Summentabellen an die Benutzer geliefert werden können. Gedankliche
Synonyme „Warehouse = aggregierte Daten = Summentabellen“ waren an der
Tagesordnung und wer Daten auf Transaktionslevel ins Warehouse lud, hatte einen
methodischen Fehler gemacht. Die Zeit ist vorbei. Längst hat man erkannt, dass der
Grad der Granularität wesentlich zur flexiblen und vielfältigen Verwendung der
Systeme beiträgt. Die Notwendigkeit Daten zu verdichten, um Informationen in
Sekundenschnelle liefern zu können, ist jedoch geblieben auch wenn die Datenbank
heute mit wesentlich mehr Daten auf feinerem Level umgehen kann.
Für die Oracle Datenbank heißt heute die Empfehlung Materialized Views zu
verwenden. Die klassischen Summentabellen haben ausgedient.
5.3.5.1





Vorteile von Materialized Views im Warehouse – Kontext
Wegfall eines gesonderten ETL – Schrittes. Die Datenbank aktualisiert
die Materialized Views im Hintergrund.
Vereinfachung des Workflow / Scheduling, da die Datenbank das
Aktualisieren automatisiert übernimmt. Gibt es kein Ladeprogramm, das die
Summentabellen aktualisiert, dann muss es auch nicht aufgerufen werden.
Transparenter Aufruf. Die Ansteuerung (der Aufruf) geschieht durch den
Endbenutzer transparent. Der Benutzer weiß nichts von der Existenz der
Materialized Views. Das Datenbanksystem analysiert nur die
Informationsanforderung des Benutzers und versucht diese mit dem
Informationsangebot des Materialized Views in Deckung zu bringen.
Die Notwendigkeit und der Bedarf für eine Materialized View wird durch
das System festgestellt. Der Gebrauch wird über Datenbankstatistiken
gemessen.
Minimierung der Anzahl der Objekte. Die Gesamtanzahl der Objekte wird
kleiner. Bei Summentabellen musste für jede verdichtete Abfrage aufgrund
der notwendigen textlichen Gleichheit von Abfrage und Tabellendefinition
eine separate Summentabelle erstellt werden. Das hat in der Vergangenheit
zu dem hohen Anteil von Summentabellen an dem Gesamtsystem von bis
zu 50 % geführt. Materialized Views können von mehreren Abfragen mit
unterschiedlichem Informationsbedarf gleichzeitig genutzt werden. Denn es
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur

63/166
zählt nicht die textliche Gleichheit, sondern die Gleichheit der Information,
auch wenn diese nur in Teilen vorhanden ist.
Synchronisierung bei Datenänderung. Bei separaten Summentabellen
besteht immer die Gefahr, dass die in den Summentabellen gespeicherten
Informationen nicht mehr stimmen, weil sie nicht richtig synchronisiert sind.
Für die Aktualität der Daten muss das Warehouse – Management mit einer
Reihe von Hilfsmitteln sorgen. Dazu gehören regelmäßiges Scheduling und
Zeitstempel in den Daten, die besagen wann die Daten zuletzt aktualisiert
wurden. Ob sich die Basisdaten geändert haben oder nicht, muss das
Warehouse Management dann schon irgendwie wissen. Das Verfahren ist
komplex und fehleranfällig. Ein großer Teil der Projektarbeit wurde in der
Vergangenheit für die Planung und das Design eines solchen Warehouse
Managements verwendet. Bei Materialized Views sorgt die Datenbank für
die Synchronität von Basisdaten und Viewdaten. Der Materialized View wird
durch das Datenbanksystem als nicht mehr gültig deklariert und kann
aktualisiert werden.
Wegfall von Summentabellen spart ETL - Schritte und schafft mehr Flexibilität
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
64/166
5.3.6 Bedienen unterschiedlicher Zielgruppen im Unternehmen
In Unternehmen entstehen sehr schnell auseinanderdriftende Erwartungen der
verschiedenen Benutzergruppen. Fachmitarbeiter brauchen eher Detaildaten
während das strategisch handelnde Management verdichtete Informationen
benötigt. Aus dieser Situation heraus sollte man jedoch nicht für jede Zielgruppe
eine separate Datenhaltung bzw. Datenhaltungsobjekte erstellen. Dies führt zu
einem unnötig komplizierten System. Die Datengrundlage sollte für alle Zielgruppen
die selbe sein. Schließlich sind es die sehr granularen Faktendaten, mit deren Hilfe
unterschiedliche Benutzergruppen ansprechbar sind.
 Unterschiedlich verdichtete Sichten werden durch granulare Faktendaten
erreicht.
 Sichten auf
unterschiedlichen
Verdichtungsebenen (verschiedene
Verwendungszwecke/Zielgruppen) sollten über sich selbst aktualisierende
Materialized Views bereitgestellt werden.
 Materialized Views können als Schichten angelegt sein. D. h. eine erste
Schicht umfasst Abfragen direkt auf den Fakten und Dimensionstabellen.
Ein zweite Schicht beinhaltet Materialized Views, die auf der ersten Schicht
aufsetzen usw.. Verdichtungen werden also selbst noch einmal verdichtet
bzw. , und das ist der Hauptzweck, verdichtetet Daten können neu
miteinander kombiniert werden.
 Sicherheitsrelevante Daten sollten auf Satzebene geschützt werden (Label
Security). Security – Anforderungen sollten nicht durch Vermehrung von
Tabellen.
Hier sieht man, dass das Metadaten Management wichtig wird. Die in den
Materialized Views besonders performant abfragbaren Informationen sollten
dokumentiert sein. Das sind letztlich die Kennzahlenlisten die über einen Metadaten
– Browser anzuzeigen sind.
Erstellung von aggregierten Sichten auf der Basis von granularen Faktendaten und
Bereitstellung für unterschiedliche Zielgruppen
Letztlich geht es immer wieder um ein und dieselben Daten bzw. Informationen. Sie
werden für unterschiedliche Benutzergruppen und Anwendungsfälle unterschiedlich
verdichtet und aufbereitet. Der Kostenvorteil, der bei dieser Vorgehensweise
entsteht, kann nicht oft genug wiederholt werden. Dadurch, dass die Materialized
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
65/166
Views ihre Daten selbst aktualisieren, entsteht für die Bedienung der
unterschiedlichen Zielgruppen kein Mehraufwand. Es fallen keine separaten ETL –
Schritte an.
5.3.7 Umgang mit großen Faktentabellen
Data Mart – und Data Warehouse - Schicht beinhalten redundante Datenmengen. In
der Warehouse – Schicht sind nahezu normalisierte Informationen abgelegt, die in
den Data Marts als denormalisierte Daten wieder vorkommen. Diese Redundanz ist
für die kleineren Dimensionstabelle bzw. Referenz – und Stammdaten
unproblematisch. Die Bewegungsdaten in den großen Faktentabellen sollten jedoch
nicht doppelt vorgehalten werden. Die Faktentabelle ist die Sammelstelle der
historisiert beobachtbaren Bewegungsdaten, also aller Bewegungsdaten eines
Betrachtungszeitraums. In einem regelmäßig mit aktuellen Daten beladenen
Warehouse wachsen gerade die Faktentabellen kontinuierlich, während alle andere
Tabellen kein bzw. wenig Wachstum haben.
Die historisierten Bewegungsdaten, also die Daten der Faktentabelle, sollten nur
einmal in den jeweiligen Data Marts enthalten sein. Nach Möglichkeit ist die
Faktentabelle direkt, ohne viele Zwischenwege, zu befüllen. Die Warehouse –
Schicht sollte allenfalls die Bewegungsdaten einer letzten Ladeperiode enthalten.
Große Faktentabellen sind im Data Warehouse nur einmal vorhanden
Generell ist das Zusammenführen von Datenressourcen zu empfehlen. Siehe hierzu
auch den Abschnitt „Mehrfachverwendung von Bereichen und Objekten“.
5.3.8 Die Verwendung multidimensionaler Speichermodelle im
Data Mart
Mit dem Release 9 der Oracle Datenbank ist die multidimensionale Datenbank
Express ein fester Bestandteil der Oracle Datenbank geworden. Damit können zwei
physische Speichermodelle mit den gleichen Mitteln innerhalb derselben Umgebung
genutzt werden (SQL – Zugriff, analoge Metadaten usw.). Das Mehr an
Möglichkeiten erfordert auch Entscheidungskriterien unter welchen Bedingungen
welche Technologie am sinnvollsten einzusetzen ist.
Bereits sehr früh hat sich bei Business Intelligence Systeme ein physisches
Speichermodell am Markt etabliert, das ganz besonders auf die interaktive, breit
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
66/166
angelegte Datenanalyse zugeschnitten war. Dies ist leicht zu erklären, denn die
älteren relationalen Datenbanksysteme waren ursprünglich primär für das Speichern
großer Datenmengen und das zielgenaue, sehr schnelle Zugreifen und Ändern
einzelner Sätze entwickelt worden. Die Datenbanken mussten im Hintergrund von
Online – Anwendungen blitzschnell die Daten bereitstellen. Optimale Zugriffspfade
für einzelne Informationseinheiten mussten berechnet und optimiert werden. Die
Informationen für die Anfrage „Liefern aller Bestellungen des Kunden X“ sind im
schlechtesten Fall auf zwei Tabellen verteilt. Mit einer geschickten Indizierung war
die Antwort in einem Bruchteil einer Sekunde im Speicher, und musste nur in die
Bildschirmmaske kopiert werden. Analytischen Abfragen funktionieren jedoch
anders. Es sind nicht einzelne Informationseinheiten, sondern Gruppen von
Informationen (Satzmengen). Und auch hier interessieren nicht die einzelnen
„Mitglieder“ der Gruppen, sondern die Gruppeneigenschaften als „Kenngröße“ oder
Kennzahl. Es interessiert der Gesamtumsatz (eine Summierung als ein Wert) pro
Kundengruppe (viele Einzelwerte).
Was lag näher, als genau für diese Anforderung ein System zu erstellen. Es
entstanden sog. multidimensionale Datenbanken (Würfelsysteme), die den „einen
Ergebniswert“ – im Beispiel den aggregierten Gesamtumsatz – in den Mittelpunkt
stellten. Die einzelnen Gruppenvertreter (operative Einzelsätze) waren unwichtig
(das war die Domäne der operativen Welt), wichtig war die eine Kennzahl als
Eigenschaft der Gruppe (aller Einzelsätze). Ein Datenbanksystem, das diese
Prämisse in den Vordergrund stellt, kann wesentlich leichter und schneller mit
potentiellen und bereits gespeicherten Analyseergebnissen umgehen, als ein
System, das die Analyseergebnisse erst noch berechnen muss.
Auch im relationalen Speichermodell (z. B. Starschema) gelingt dies, wie wir bereits
gesehen haben, mit Hilfe von Materialized Views. Allerdings müssten für alle
theoretisch möglichen Abfragen Materialized Views zur Verfügung stehen, was
unpraktisch sein kann.
Das multidimensionale Modell hält Abfrageergebnisse bereits vor. Auf der Basis
dieser Ergebnisse können leicht und flexibel weitere Analyseschritte folgen
5.3.8.1 Sparsity
Diese multidimensionale Speichersysteme (MOLAP) halten an den Schnittpunkten
der jeweiligen Dimensionsattributwerten bereits deren gültige Ergebnisse vor.
Allerdings treten bei komplexen Dimensionen mit vielen Attributen und
Attributeinstanzen auch eine Vielzahl Kombinationsmöglichkeiten auf, so dass für
eine hohe Zahl von Schnittpunkten kein sinnvoller Ergebniswert zustande kommt.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
67/166
Dieses Phänomen nennt man Sparsity und stellt eine Beschränkung oder zumindest
eine besondere Herausforderung der multidimensionalen Datenbanken dar.
5.3.8.2 Multidimensionale Speicherzellen und Materialized Views
Aufgrund der besonderen Machart der multidimensionalen Datenbanken, speicherte
man an den Schnittpunkten keine Einzelinformationen, sondern bereits aggregierte
Informationen. Das reichte für die Zwecke der Analyse auch vollkommen aus, da nur
die Eigenschaften von ganzen Gruppen und nicht Einzelinformationen
interessierten.
Mit der Bedeutung und der Marktrelevanz von Data Warehouse Systemen haben die
relationalen Datenbanken wie Oracle, viele Funktionen erhalten, mit denen sie mit
großen Datenmengen ebenfalls schnell hantieren können. Letztlich geht es darum
gruppenbezogene Informationen (Aggregationen) schnell zu erhalten und diese für
eine weitere Bearbeitung (Analyse) dem Benutzer zur Verfügung zu stellen. Wenn
relationale Datenbanken mit aggregierten Informationen (Gruppeneigenschaften) so
einfach hantieren können wie die multidimensionalen Datenbanken, dann
übernehmen sie mehr und mehr die klassischen Aufgaben der MOLAP – Systeme.
Um dieses Ziel zu erreichen hat die Oracle Datenbank die Materialized Views
eingeführt. Eine Ergebniszeile eines Materialized Views entspricht einer Zelle der
multidimensionalen Datenbank. Materialized Views sind physische Speicherungen
von zuvor ermittelten Ergebnissen – also Aggregate. Damit hat man Ergebnisse, mit
denen man beliebig weiter operieren kann, d. h. also auf deren Basis neue Analysen
aufsetzen können. Das Sparcity – Problem der multidimensionalen Datenbanken
lösen Materialized Views dabei automatisch, denn bereits bei der Erstellung der
Views werden nur solche Sätze in den View aufgenommen, die eine sinnvolle
Ergebniskombination darstellen.
Allerdings liefern Materialized Views immer nur einen Ausschnitt der in einem
Datenmodell angebotenen Informationen, denn man wird immer nur für diejenigen
Informationen Materialized View definieren, für die stärkste Nachfrage bei Anwender
besteht. Fragen Anwender einen nicht vorbereiteten Informationsbereich ab, so
kann eine Abfrage schon mal länger dauern. Das wird bei der multidimensionalen
Speicherung nicht geschehen, da dort alle Informationen in dem Definierten
Würfelraum fast gleichschnell abfragbar sind.
5.3.8.3 Komplexität von Strukturen und Abfragen
Es gibt eine Reihe von Einzelfällen, bei denen sich die multidimensionale
Speichertechnik nach wie vor als vorteilhaft erweist. Hier zwei exemplarische Fälle:
5.3.8.3.1 Umgang mit unbalancierten Hierarchien
Die Dimensionshierarchien können unterschiedlich strukturiert sein. Aus relationaler
Sicht ist eine nach oben gleichmäßig verlaufende n:1 Hierarchisierung am
leichtesten abzubilden. D. h. 1 bis n Instanzen eines unteren Hierarchielevels
gehören zu genau einer Instanz des darüber liegenden Levels. Für alle übrigen
Instanzen des unteren Hierarchielevels lässt sich die gleiche Regel aufstellen.
In der realen Welt sind jedoch nicht alle Hierarchien so gleichmäßig strukturiert, wie
das folgende Beispiel zu Kostenstellen zeigt. Kostenstellen können an beliebigen
Punkten einer Unternehmenshierarchie platziert sein und sie können beliebig viele
Hierarchiestufen über sich haben. Ähnliche Beispiele gibt es bei Stücklisten oder
Produktgruppenhierarchien. Bei genauer Betrachtung kommen unbalancierte
Hierarchien eher häufiger vor, als gleichmäßig strukturierte.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
68/166
Beispiel für eine unbalancierte Hierarchie
In der relationalen Speicherung mit Hilfe des Starschemas werden fehlende Lücken
in den oberhalb liegenden Hierarchieknoten durch das „Hochkopieren“ der
unterliegenden Vertreter ausgefüllt. Ein Verfahren, das nicht zu 100% der Realität
entspricht und ein Verfahren, das zusätzlichen ETL – Aufwand bedeutet.
Lösungsverfahren von unbalancierten Hierarchien bei der relationalen
Speichertechnik (Starschema)
In dem multidimensionalen Speichermodell spielt die n:1 Hierarchisierung keine
Rolle. Die Struktur kann frei gewählt werden, weil die Instanzen innerhalb der
Hierarchie – Stufen lediglich Platzhalter für Adressen der eigentlichen Kennzahlen
(Würfelzellen) sind. Wenn es keine übergeordneten Unternehmensstufen zu einer
bestimmten Kostenstelle gibt, dann gibt es eben auch keine Werte (Zellen) dafür.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
69/166
Lösungsverfahren von unbalancierten Hierarchien bei der multidimensionalen
Speichertechniken (Starschema)
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
70/166
5.3.8.3.2 Komplexe Abfragen mit Zwischenergebnissen
Abfragen können mehrstufig sein. Die Ergebnisse eines ersten Abfrageteils können
die Grundlage für einen zweiten, dritten usw. Teil sein. Gerade bei
Zeitreihenanalysen kommt dies häufiger vor.
Beispiel:
„Wie haben sich die Top 10 Produkte dieses Jahres in den 3 verkaufsbesten Jahren
der letzten Dekade entwickelt?“
Diese Abfrage gliedert sich in die folgenden Teilabfragen:
1. Was sind die Top 10 Produkte dieses Jahres. -> Zwischenergebnis A
2. Was sind die Top 3 umsatzstärksten Jahre aus den letzten 10 Jahren.
-> Zwischenergebnis B
4. Unterfragen:
a. Welchen Anteil hat die diesjährige Top 1 aus Zwischenergebnis A
an dem Topjahreswert 1 aus Zwischenergebnis B
b. Welchen Anteil hat die diesjährige Top 1 aus Zwischenergebnis A
an dem Topjahreswert 2 aus Zwischenergebnis B
c. Welchen Anteil hat die diesjährige Top 1 aus Zwischenergebnis A
an dem Topjahreswert 3 aus Zwischenergebnis B
d. .......
Für das relationale Speichermodell kann man sich vorstellen, dass
Rechenfunktionen in die SQL – Abfrage zum Bilden von Materialized Views
eingebaut werden. Die neue SQL - Model – Clause (ab Release 10) erleichtert diese
Art der Abfrage ebenfalls. Es ist jedoch leicht einsehbar, dass hier Mehraufwand
gefordert ist. Selbst ein sehr gutes Auswertewerkzeug kann an seine Grenzen
stoßen. Es wird nötig sein, zusätzlichen Programmieraufwand in der Datenbank zu
leisten.
Bei der multidimensionalen Speicherung kann man leicht zusätzliche Sichten auf die
gespeicherten Aggregate bilden, die selbst wieder Grundlage für weitere Abfragen
darstellen. Das geht mit der multidimensionalen Speicherung effizienter. Wichtig ist
auch, dass ein Benutzer die oben dargestellte Beispielabfrage durch eigenes Zutun
und spontan entwickeln kann. Modifiziert er nur einen Ast der Abfrage, so kann er
dies „On the Fly“ tun.
5.3.8.4 Gegenüberstellung multidimensionaler und relationaler Datenhaltung
Die oben gemachten Unterscheidungen helfen, um die Einsatzgebiete von
multidimensionaler und relationaler Datenhaltung besser einschätzen zu können.
Hier noch einmal eine Zusammenfassung.
Multidimensionale
Datenhaltung
Relationale
Datenhaltung
Metadatenbeschreibung
und Datenhaltung
Quelle und Definition
Dimensionen
CWM
Dimensionen
Measures
Datenhaltung
Cubes
Fest gespeicherte Werte.
CWM
Dimensional Tables
Objekte in der Datenbank
und echte Tabellen.
Fakten
Materialized Views oder
direkt Tabellenwerte.
Charakter der Daten
Datenlevel
Es machen eher
aggregierte Daten Sinn
Copyright © 2005 by Oracle Corporation. All rights reserved
Granulare Daten, in der
Nähe der operativen
Bewegungsdaten.
Data Warehouse Referenzarchitektur
Sparsity
Flexibilität des
Metamodells
Struktur der
Dimensionshierarchien
Ableitung von Werten
71/166
Muss gesondert
behandelt werden.
Vorsorge ist notwendig.
Tritt nicht auf.
Frei wählbar, auch
unbalancierte Hierarchien.
Geringer Aufwand beim
Datenladen.
Nur parallele Hierarchien,
unbalancierte Hierarchien
müssen gesondert
behandelt werden.
Mehraufwand beim
Datenladen.
Spalteninhalte können
durch eingebettete
Funktionen abgeleitet
werden. Einschränkungen
beim Zusammenspiel mit
Materialized Views.
Zelleninhalte können „On
the Fly“ berechnet
werden“.
Erleichtert besondere
Funktionalität der Planung
und der Simulation.
Aktualisierung der
Daten
Muss speziell getriggert
werden. Expliziter
Ladeschritt nötig.
Voll - Load bzw.
Teilbereiche.
Benutzersicht und
Einsatzbereiche
Wahlfreie Analyse
Innerhalb des bereit
gestellten Datenraums
(Würfel) uneingeschränkte
Auswahl der
Datenobjekte.
Benutzer mit möglichst
hoher Bewegungsfreiheit
und einem sehr hohen
Anteil an interaktiven,
schnellen
Analyseschritten.
5.3.8.5
Bei Materialized Views
automatisch ohne
zusätzliche ETL –
Schritte.
Inkrementell.
Hohe Performance nur bei
den entsprechend
vorbereiteten Daten. Es
kann passieren, dass
Benutzer Abfragen
formulieren, für die keine
Performanceoptimierung
(MAV) vorbereitet worden
ist.
Benutzer mit eher
standardisierten und
immer wiederkehrenden
Abfragearten.
Regeln im Umgang mit multidimensionaler und relationaler
Datenhaltung
Folgende Regeln gelten im Umgang mit multidimensionaler und relationaler
Datenhaltung:
 Unabhängig von der Art der physischen Speicherung sollte immer von nur
einem Metadatenmodell ausgegangen werden. Die Metadatenstruktur von
beiden Varianten ist gleich. Sie wird am leichtesten mit Oracle Warehouse
Builder (OWB) erzeugt. Aus dieser Definition lassen sich sowohl alle
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur




72/166
relationalen als auch alle multidimensionalen physischen Objekte sehr leicht
herstellen.
Bei häufig sich ändernden und ständig nachgeladenen Daten eignet sich
eher die relationale Speicherung.
Bei sehr granularen Daten und Daten mit operativer Nähe eignet sich eher
die relationale Speicherung.
Der Grad der Interaktivität und Komplexität der Abfragen ist entscheidend
für Wahl zwischen beiden Speichermodellen.
Standardberichte oder Informationsabfragen, die im Vorfeld bekannt sind,
bedürfen normalerweise keiner multidimensionalen Speicherung. Hierfür
stehen genügend relationale Mittel zur Verfügung. Diese Art der Analyse
sollte auch bereits in früheren Phasen der Informationsaufbereitung
stattfinden (Data Warehouse – Schicht).
Abgrenzung Einsatzbereiche multidimensionale und relationale Speicherung
Entscheidung leicht gemacht – Schneller Wechsel zwischen den
Systemen
Die Unterschiede zwischen den beiden Speichersystemen sind bei fortschreitender
Entwicklung der Technologien immer marginaler geworden. Es sind spezielle, sich
regelmäßig ändernde Anforderungen, die entweder in die eine oder in die andere
Richtung tendieren lassen. Ein starres Festhalten an nur einer Speicherungsform
führt nur dazu, alle Anforderungen mit den gleichen Mitteln zu lösen. Das kann nicht
in allen Fällen passen. Ideal ist daher eine Mischform beider Technologien. Je nach
Situation sollte ein Verfahren multidimensionale oder relationale Technologie nutzen
können. Allerdings muss der Wechsel zwischen beiden Technologien vertretbar sein
und leicht bewerkstelligt werden können. Also das Aufbauen der jeweils anderen
Speicherungsform darf nur geringe Aufwende verursachen. Und das sind:
 Das Definieren des jeweiligen Modells und
 Die Bereitstellung von Daten innerhalb der neuen Modellform.
5.3.8.6
Die Oracle Warehouse Technologie ist bislang die einzigste Technik mit der beide
Speicherungsarten wie „aus einem Guss“ realisierbar sind. Im Detail:
 Es sind die Metadaten, die nur ein einziges Mal definiert werden müssen.
Aus diesen Metadaten wird die jeweilige Struktur generiert, entweder das
relationale Starschema oder der multidimensionale Analytical Workspace.
 Es sind die Daten, die mit der gleichen Technologie entweder in das
Starschema oder in den Analytical Workspace geladen werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
73/166
Die Komponente mit der beides gleichzeitig machbar ist, ist der Oracle Warehouse
Builder. Das ist gegenwärtig die einzige Technologie am Markt, mit der diese
Mischform so elegant praktizierbar ist.
Wechselspiel multidimensionale und relationale Auswertemodelle. Einheitliche
Steuerung durch Oracle Warehouse Builder (OWB)
Das Schema des Referenzmodells muss folglich um die multidimensionale Technik
erweitert werden. Die Tatsache, dass es sich um eine eigene Speicherform handelt
führt nicht dazu, von einem separaten Data Mart zu reden. Beide Speicherformen
können separat nebeneinander mit den gleichen Zugriffsmethoden (SQL) an dem
selben Ort innerhalb des Gesamtsystems existieren. Auch hier wieder ein Plus für
die Flexibilität, die Endbenutzern geboten werden kann. Auch hierfür gilt das
gleichzeitige Ausnutzen von ETL – Schritten und Hardware – Maschinen [Siehe
separates Kapitel].
5.4
Umgang mit Partitions
Partitionen sind an mehreren Stellen des Warehouses hilfreich. Sie können keiner
bestimmten Warehouse – Schicht zu geordnet werden, da sie letztlich nur ein
technisches Datenbank – internes Hilfsmittel darstellen. Allerdings sind sie wichtige
Hilfsmittel, um softwaretechnisch Aufgaben zu lösen, die sonst nur durch mehr
Hardwareleistung zu leisten sind. Gründe genug, um sich separat damit zu
beschäftigen.
Der Partitionierung von Tabellen kommen grundsätzlich sechs sehr unterschiedliche
Aufgabenbereiche zu:
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur






74/166
Schaffung einer besseren Abfrageperformance. Hier nutzt man die
Tatsache, dass bei eingeschränkten Abfragen nur ein Teil der
Tabellendaten gelesen wird.
Leichteres Management von Datenmengen. Hinzufügen und Löschen von
Daten eines bestimmten eingrenzbaren Bereiches. Das ist z. B. das
Partition Exchange And Load – Verfahren [siehe separates Kapitel].
Leichtere Wartung. Die Index – Strukturen lassen sich leichter aktualisieren,
wenn nur der Index von geänderten Partitionen aktualisiert werden muss.
Erhöhung der Verfügbarkeit des Warehouses. Partitionen können separat
recovered werden, ohne dass die gesamte Tabelle für Benutzerzugriffe
gesperrt werden muss.
Erleichterung des Backup und Recovery Verfahrens. B&R – Verfahren
können sich Partitions zu Nutze machen, indem sie immer nur die jeweils
modifizierten Partitionen sichern. Unberührte Partitionen müssen nicht
gesichert werden [siehe separates Kapitel].
Intern unterstützt das Partitioning die Parallelisierungsfähigkeit der
Datenbank.
5.4.1 Empfehlungen im Umgang mit Partitionen







Bei Abfragen sollte man darauf achten, dass sie möglichst einschränkende
WHERE – Klauseln besitzen. Oftmals wird oft nur unbewusst ganz pauschal
abgefragt während eine Abfrage z. B. auf die aktuelle Zeitperiode genauso
hilfreich gewesen wäre (Selektive Abfragen).
Die Anzahl der Partitionen sollte eher hoch gewählt werden, als zu niedrig.
Mit einer höheren Anzahl ist zum einen die Wirkung bei selektiven Abfragen
höher, da noch kleinere Datenmengen zu lesen sind und zum anderen wird
die Parallelisierung der Datenbank besser unterstützt.
Bei Sub Partioning sollte man vorsichtig sein. Hier sollte man keine sich
widersprechenden Partitionierungskriterien wählen. Die in Unterpartitionen
zusätzlich gegliederten Sätze sollten auch nur in der einen darüber
liegenden Parent -Partition zusammengefasst sein und nicht noch in
anderen Parent - Partitionen vorkommen können.
Die besten Abfrageperformance - Werte erzielt man mit einfachem
Partitioning. D. h. für Sub Partitioning müssen andere Gründe, als die der
Performance, sprechen.
Partitions können den einzelnen Platten des RAID – Stripe - Verfahrens
zugeordnet werden. Damit ist zusätzlich schnelles Lesen möglich.
Die Partitions sollten so gewählt sein, dass sie potentiell möglichst gleich
viele Datensätze beinhalten. Eine Partitionierung nach Monaten kann
hinderlich sein, wenn es Monate mit extrem vielen Geschäftsaktivitäten und
Monate mit weniger Aktivitäten gibt. Wenn 50 % aller Sätze in weniger als
10% der Partitionen liegen, dann ist die Wirkung eingeschränkt.
Die Steuerungsmittel für die Partitionen sollten gleich sein. Bei einer Monats
Partitionierung kann es z. B. hinderlich sein, dass bestimmte Monate
weniger Tage haben als andere. Sind Lade und Prüfläufe auf einen Faktor
„Anzahl Tage pro Monat“ eingestellt, ist zusätzliche Logik notwendig, um
genau die richtige Anzahl Tage pro Monat zu treffen. Eine Alternative dazu
sind Wochen mit einer stets konstanten Anzahl Tage.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
75/166
6 Organisation und Aufbau von Ladeläufen
und Transformationen
6.1
Spezielle Ladeverfahren für einzelne Warehouse –
Bereiche
6.1.1 Informationsbeschaffungsprozess in der Übersicht
Die Aufgabenstellungen für das Transformieren von Daten im Verlauf des
Warehouse – Prozesses sind in den Schichten unterschiedlich. Es lassen sich vier
Schritte unterscheiden
 Entgegennehmen der Daten (Extraktion aus den Quellsystemen)
 Prüfen und Konsolidieren
 Normalisieren
 Denormalisieren
Transformationsaufgaben im Verlauf der verschiednen Phasen des Warehouse Prozesses
6.1.2 Entgegennehmen der Daten
Hier sind widersprüchliche Ziele zu vereinbaren:
Ziel ist es einerseits die Quellsysteme möglichst wenig belasten,
andererseits gilt es den Aufwand für die Datenextraktion so gering wie möglich
halten.
Folgende Regeln sind festzuhalten:
 Stabile Datenverbindungen (Netzverbindung, Zugänge).
 Quellsysteme
dürfen
nicht
behindert
werden
(Keine
Performancebeeinträchtigung).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur


76/166
Keine schreibenden Zugriffe auf die Quellsysteme
Möglichst kurze Ladezeiten.
Die vorgenannten Ziele zwingen oft dazu Quelldaten möglichst 1:1 in die Stage –
Schicht zu Laden.
Dem entgegen steht das Bestreben Ladeläufe generelle möglichst kurz zu halten
und z. B. bereits beim Laden in die Stage – Schicht Verarbeitungsschritte
durchzuführen. Zwischen diesen beiden Anforderungen muss man abwägen.
Die erste Priorität hat hier die sichere Entgegennahme von Daten aus den
operativen Quellsystemen. Sicher bedeutet hier, dass stabile Datenverbindungen
bereitstehen
6.1.2.1 Prüfen und Konsolidieren:
Das
Warehouse
führt
Daten
aus
getrennten
DV-Verfahren
bzw.
Unternehmensprozessen zusammen. Der Prüf- bzw. Konsolidierungsvorgang
beschränkt sich in dieser Phase auf das Ziel, diese Daten zusammenzuführen, also
passend und widerspruchsfrei zu machen. Fehler, die in den operativen
Anwendungen entstanden sind, können hier in der Regel nicht korrigiert werden. Es
sollte allerdings eine Rückkopplungsfunktion enthalten sein wonach fehlerhafte
Eingabeinformationen an die liefernden Prozesse (Stellen) zurückgeschickt werden
können.
Die Daten sollten hier noch nicht verdichtet oder ‚gejoint’ werden, da das die
Prüfverfahren behindern kann. Performance könnte verloren gehen, im
Wiederholungsfall könnte schon zu viel Arbeit investiert worden sein, die dann
verloren wäre.
Zur Prüflogik stehen innerhalb der Datenbank folgende Mittel zur Verfügung:




Standard SQL Operatoren (Funktionen, CASE)
Regular Expressions
Match / Merge Fuzzi Logik
Analytische Funktionen
Datenbank – Constraints sollte man in dieser Phase aus Performancegründen
vermeiden.
6.1.2.2 Prüfen und Protokollieren
Das Erstellen von Protokolltabellen ist dem Erstellen von Protokolldateien
vorzuziehen, Tabellen sind leichter und schneller zu verarbeiten.
Das Erstellen der Protokolltabellen ist durch mengenbasierte Operationen mittels
SQL vorzunehmen. Hierzu können auch separate Prüfläufe gestartet werden.
Immer wieder ist in bestehenden Warehouse – Installationen zu sehen, wie
umständlich Prüfaktivitäten durchgeführt werden. Meist ist das Prüfen die Stelle in
den Ladeprozessen, an der die meiste Zeit (Lade – Performance) verloren geht,
denn hier wechselt die Verarbeitung oft auf die Satzebene, weil prozedurales
Programmier – Denken vorherrscht. Dabei gibt es innerhalb des SQL hervorragende
Mittel, um mengenbasiert Prüfungen auch auf Feldebene und mit komplexer
Prüflogik zu ermöglichen.
Hier ein Beispiel: Es sind alle Felder einer Quelltabelle mit unterschiedlichen
Prüfungen zu versehen. Diese Prüfungen können sein:
 NULL / NOT NULL
 Numerisch / alphanumerisch
 Gültiges Datumsfeld
 Beliebige ‚Regular Expression’ (Spezielle Semantik)
 Teilstringprüfungen
 Wertgültig in Abhängigkeit von Werten aus anderen Tabellen
 Security - Prüfungen
 ...
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
77/166
Die Beispiele zeigen, wie ausführlich und komplex die Prüfungen sein können. Die
Quellsätze sollen in eine Zieltabelle mit gleichem Format überführt werden.
Fehlerhafte Sätze sollen vollständig mit Angabe eines Fehlercodes in eine
Fehlertabelle geschrieben werden.
Bei der Lösung kommt es darauf an, die Prüfung mengenbasiert durchzuführen.
Ein wichtiges Hilfsmittel ist die CASE - Anweisung, mit der Ausdrücke auf dem
Level von Funktionen (1 Rückgabewert) für jedes einzelne Feld formulierbar sind.
Das folgende kuriose Beispiel zeigt die Flexibilität:
select
case
when ((SELECT 1 from DUAL) = 6) then 0
when (0 = 4) then 1
when (sysdate-100 > to_date('31.01.05','DD.MM.YY')) then 2
else 9
end Ergebnis
from dual;
Die Lösung für die Aufgabenstellung erstellt eine Prüftabelle mit nur zwei Feldern,
dem Key – Feld zur Aufnahme des Originalschlüssels (für späteren Join) und einem
Flag – Feld in dem ein Fehlercode eingetragen werden kann. Alle vorkommenden
Fehler erhalten eine Code – Nr (Fehlertexte werden ausgespart). Über einen Insert
wird die Prüftabelle gefüllt. Der Insert bezieht seine Daten aus einem Select, der für
jedes Feld eine CASE ... WHEN – Klausel besitzt. In diesem Verfahren wird nur der
erste aufgetretene Fehler identifiziert und in die Prüftabelle geschrieben. Das ist ein
Kompromiss an die Komplexität des Verfahrens. Es müsste ein zweiter Prüflauf
folgen, wenn weitere Fehler gefunden werden sollen. Sollen alle Fehler mit einem
einzigen Prüflauf erfasst werden, so muss die Prüftabelle jedes Feld der Quelltabelle
enthalten und für jedes Feld ist eine separate CASE – Anweisung aufzunehmen.
Auch das ist machbar und verletzt nicht das mengenbasierte Vorgehen des SQL.
Ist die Prüftabelle erstellt folgt in einem zweiten Schritt durch einen „Multiple Insert“
das Schreiben entweder in die gültige Zieltabelle oder bei fehlerhaften Quellsätzen
in die Fehlertabelle. Gelesen wird über einen Join aus der Original – und der
Prüftabelle.
Das hört sich komplex an, zumal man eigentlich nicht mehr programmieren will.
Aber all diese Konstrukte lassen sich elegant und mit Hilfe eines graphischen
Entwurfs mit dem Oracle Warehouse Builder (OWB) erstellen und generieren. (Dies
ist kein OWB – Handbuch, daher wird das graphische Verfahren hier nicht
dargestellt).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
78/166
Beispielhaftes, mengenbasiertes Prüfverfahren mit CASE
6.1.2.3 Kennzeichnung von Daten
Alle gelieferten Informationen (Sätze) sind zu kennzeichnen. Folgende
Informationen müssen erkennbar sein:
 zu welchem Zeitpunkt wurden die Daten extrahiert
 aus welchem System stammen die Daten
 welchen Zustand haben die Daten:
o geprüft / ungeprüft
o bereits in die nächste Schicht geladen oder noch zu laden
Diese Informationen helfen bei der Steuerung des Gesamtladevorgangs des
Systems:
 Muss ein Ladelauf wiederholt werden, dann können die bereits in die
Warehouse – oder Data Mart – Schicht geladenen Sätze dort wieder
gelöscht werden, indem man sie anhand der Kennzeichnung (zuletzt
geladen) identifiziert.
 Wird aufgrund der hohen Datenmenge ein inkrementelles Laden gewählt
(Buckets), so kann gesteuert werden, welche Daten bereits verarbeitet
wurden und welche noch zu verarbeiten sind.
 Es kann vorkommen, dass ständig Daten in das Warehouse fließen, also die
Ladezeit nicht eindeutig fixiert werden kann. Hier helfen die
Statusinformationen bei der Selektion der noch zu bearbeitenden Sätze.
Die Kennzeichnung der Sätze sollte nicht durch Update – Vorgänge entstehen,
sondern durch zusätzliche Spalten in duplizierten Tabellen. Das Erstellen einer
zusätzlichen Tabelle, die zunächst gelöscht und dann mit den neuen geprüften und
ergänzten Sätzen gefüllt wird (CTAS – CREATE TABLE AS SELECT) ist die
performanteste Methode.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
79/166
Prüf- und Kennzeichnungsverfahren in der Stage - Schicht
6.1.2.4 Deltadatenerkennung
Eine Herausforderung bei dem Laden von Daten aus Vorsystemen ist das Erkennen
von Änderungsinformationen. Während die Bewegungsdaten regelmäßig
fortgeschrieben werden (Daten fließen ergänzend in das Warehouse), müssen oft
bei den Stammdaten Änderungen nachvollzogen werden. Viele operative Systeme
besitzen zur Kenntlichmachung von Änderungen sogenannte Zeitstempel, also ein
„Änderungsdatum“. Hieran erkennt der Ladelauf, dass sich Quellstrukturen geändert
haben (Prüfung über eine Where – Klausel). Ist das nicht der Fall, bleibt nur der
Weg die Quelldaten mit den vorher geladenen Daten zu vergleichen.
Hier hilft die MINUS – Operation. Der neue Zustand der Originaldaten wird im
Prinzip von den in der Ladeperiode zuvor geladnen Sätzen abgezogen. Übrig
bleiben die Sätze, die sich seit der letzten Ladeperiode änderten. Neue bzw.
geänderte Sätze können identifiziert und mit Hilfe der MERGE – Operation in die
Zielumgebung geschrieben werden. Üblich sind dann noch Historisierungsverfahren
(z. B. Slowly Changing Dimensions). Dies wird separat beschrieben [siehe unten].
Verfahren zur Erkennung von Änderungen
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
80/166
6.1.3 Normalisieren – der Weg in die Warehouse Schicht
Um das Warehouse – System gegen Geschäftsprozessänderungen möglichst stabil
zu halten, wird in der Warehouse – Schicht normalisiert. Normalisierte Strukturen
können später leichter zu neuen Informationsobjekten zusammengefügt werden.
Hierzu orientiert man sich an der kleinsten Informationseinheit den Datenelementen
innerhalb der Geschäftsobjekte. (Siehe hierzu die Verfahren der Normalisierung
1.,2.,3. – Normalform aus der Datenmodellierung, die hier als bekann vorausgesetzt
werden).
Sind Entitäten gefunden, die als Child – Informationen zu allen anderen Entitäten
funktionieren, so stellen diese Entitäten die Basis der Transformationen dar.
Stammdaten sind in der Regel einmalig zu transformieren (distinct).
Bewegungsdaten sind so zu laden, wie sie auch in dem operativen System
vorkommen. Folgende Vorgehensweise wird bei Transformationen für das
Normalisieren einer denormalisierten Struktur gewählt:
1. Distinct - Selektieren der Top – Parent – Information und Speichern in einer
separaten Tabelle. Hierbei kann ein neuer künstlicher Schlüssel definiert
werden.
2. Distinct – Selektieren der zweithöchsten Parent – Information mit Lookup
auf die Top – Parent- Information, um den Primary Key des Parents in die
neu entstandene Child - Tabelle einzufügen.
3. Fortsetzen des Verfahrens bis auf die unterste Ebene.
Normalisierungsschritt beim Wechsel Stage – Schicht nach Warehouse - Schicht
6.1.4 Denormalisieren – Aufbereiten für die Endbenutzer
Bei dem Übergang von der Warehouse – Schicht zu den Data Marts werden die
normalisierten Informationsbausteine wieder zu neuen Informationseinheiten
zusammengeführt. (Siehe hierzu weiter unten Aufbau von Dimensionen).
6.1.5 Laden von Faktentabellen
Faktentabellen können besonders groß werden. Durch die jüngste Hardware- und
Datenbankentwicklung begünstigt, bewegen sich Faktendaten heute auf einem
wesentlich feineren Detaillevel als früher. Oft überführt man Transaktionen der
operativen Systeme direkt in die Faktentabellen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
81/166
Das periodische Füllen der Faktentabellen bedarf besonderer Aufmerksamkeit, da
hier mit die größten Ladezeiten entstehen können.
 Prüfaktivitäten auf Einzelsatzebene sind zu vermeiden. Diese Prüfungen
sollten bereits im Vorfeld stattfinden.
 Das Prüfen von Daten und das Laden von Daten sollte getrennt
durchgeführt werden:
o Das entzerrt den Ladeprozess,
o gibt die Möglichkeit das Laden mengenbasiert durchzuführen,
o gibt die Möglichkeit der Einzelsatzverarbeitung im Prüfteil (wenn
nötig).
o Das eigentliche Laden kann noch verhindert werden, wenn Fehler
auftreten.
o Prüfroutinen können fachliche Fehler getrennt von technischen und
logischen Fehler (z. B. Constraint – Verletzung) behandeln. Daten
die fachlich falsch sind, muss man nicht mehr laden.
 Constraints, Fast Refresh von Materialized Views und das Aktualisieren von
Indizes sind zu deaktivieren und erst nach Abschluss des Ladelaufes zu
aktualisieren.
 Updates auf Faktentabellen sollte man vermeiden. Zum einen braucht man
zum effektiven Updaten Indizes, die dann wieder bei Inserts stören, zum
anderen verursacht das Datenbanksystem zusätzlichen Overhead, der nur
für Updates erfolgt. Updates kommen der Einzelsatzverarbeitung nahe.
o Können Updates nicht verhindert werden, so sollte man sie in einen
separaten Lauf ausgliedern.
 Lookup – Abgleiche mit den Dimensionstabellen erfolgen über einen Join im
Verlauf des Ladevorgangs.
 Sind Sätze zeitlich oder nach anderen Kriterien geclustert, so hilft das
Partitioning der Faktentabelle, indem man neu entstehende Partitionen als
temporäre Tabellen vorbereitet und als neue Partition an die Faktentabelle
zuschaltet (Exchange Partition).
6.1.6 Laden von Dimensionstabellen
Dimensionen eines Starschemas sind als eine einzige Tabelle in der Datenbank
abzubilden. Das erfordert einen Denormalisierungsschritt, wenn Daten aus einem
normalisierten Modell (Warehouse – Schicht, ODS – Schicht) in ein Starschema
überführt werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
82/166
Umwandeln normalisierter Strukturen zu denormalisierten Dimensionen
Bei der Überführung werden zwar die Originalschlüssel übernommen. Auf der
untersten Ebene wird jedoch ein künstlicher Schlüssel zusätzlich in die Dimension
als neuer Primary Key eingeführt (siehe hierzu Umgang mit Schlüsseln weiter
unten).
Folgende Vorgehensweise ist sinnvoll:
1. Ausgangspunkt ist die unterste Child – Tabelle der normalisierten Struktur.
Diese Tabelle wird zum untersten Level der Dimensionstabelle.
2. Ein Sequenz – Objekt liefert beim Laden der Dimensionstabelle den neu zu
bildenden Primary Key der neuen Dimensionstabelle.
3. Die weiteren Level der Dimensionstabelle werden als Lookups der Parent Tabellen geladen. In der Regel übernimmt man die Lookup – Schlüssel als
neue Level – Schlüssel in der Dimension.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
83/166
Ableitung einer Dimension aus normalisierten Modellen durch Lookups und
Generierung von künstlichen Schlüsseln
6.1.7 Das Laden von künstliche Schlüsseln – Das Umschlüsseln
Im Warehouse
können aus mehreren Gründen nicht die operativen
Stammdatenschlüssel verwendet werden, so dass im Verlauf des Ladeprozesses
neue zu bilden sind. Das Umschlüsseln von operativen Schlüsseln von Stammdaten
zu Schlüssel, die in dem Data Warehouse benutzt werden, wird in der Regel mit
Look up – Verfahren innerhalb der Datenbank (Outer – Join) realisiert, es geschieht
also mengenbasiert.
Heranziehen von Referenzinformationen im SET Based – Verfahren
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
84/166
Zum Laden der künstlichen Schlüsse in die Faktentabelle wird vorgeschlagen:
1. Aufbau der Dimensionstabellen mit Hilfe von Sequenz – Objekten in der
Datenbank. Alle Dimensionssätze werden aus den entsprechenden
Stammdaten gefüllt und erhalten neben den originären Primary Key Feldern
der Stammdaten einen zusätzlichen neuen Primary Key als laufende
Nummer über die Sequenz. Diese Dimensionsdaten sind vor jedem Laden
der Faktentabelle zu aktualisieren.
2. Laden der Faktentabelle aus den Bewegungssätzen. Im Verlauf des Ladens
wird mit einem Outer – Join der neue künstliche Schlüssel aus der
Dimensionstabelle entnommen. Dieser ersetzt den originären Schlüssel in
der Faktentabelle.
3. In der Faktentabelle ist der Originalschlüssel der Bewegungsdaten nicht
mehr zu finden.
Bei diesem Verfahren können auch fehlerhafte Sätze geladen werden, deren
Originalschlüssel nicht in der Dimensionstabelle zu finden ist. Das Foreign Key Feld
bleibt leer. Anschließende Abfragen werden diese Sätze nicht finden, wenn sie über
einen Join mit der Dimensionstabelle abgefragt werden. Daher ist dieses Verfahren
nur dann zu wählen, wenn man sicher sein kann, dass alle Bewegungsdaten immer
einen passenden Satz in der Dimension finden. Hierzu kann man im Vorfeld eine
Prüfung einbauen. Siehe auch den folgenden Punkt.
6.1.8 Optimistisches
und
Pessimistisches
Laden
Dimensionsdaten in Abhängigkeit von Faktdaten
von
In den zu ladenden Faktensätzen können Sätze mit Column - Werten enthalten sein,
zu denen der Ladeprozess keine Referenzsätze in den Dimensionstabellen findet.
a) Im optimistischen Verfahren werden Daten ohne weitergehende Prüfung
geladen. Dies ist z. B. mit einem Outer – Join möglich.
b) Das pessimistische Verfahren prüft kategorisch und verhindert im Fehlerfall
das Laden des falschen Satzes. Der Vorteil liegt darin, dass keine fehlerhaften
Sätze in die Faktentabelle gelangen. Der Nachteil ist jedoch, dass fehlerhafte
Sätze vollständig verloren gehen und für Auswertungen nicht mehr zur
Verfügung stehen. Schlimmer noch: die Ursachen der Fehler werden nicht
beseitigt.
c) Das dritte Verfahren lädt auch die fehlerhaften Sätze. Es fügt jedoch
korrespondierende Sätze in die jeweiligen Dimensionstabellen ein. Das
Verfahren besteht aus den folgenden Schritten:
1. Abgleich der zu ladenden Faktensätze mit der Dimensionstabelle mit Hilfe
eines Anti – Joins zwischen Faktensätzen und Dimensionsätzen:
INSERT INTO
Dimension SELECT next.Sequence(PK von
Dimension),F.Feld1, F.FeldX from Faktsatztabelle F,
Dimension
D
where
F.Originalfeld
not
equal
D.Originalfeld.
2. Insert der so gefundenen Menge in die Dimensionstabelle.
3. Laden der neuen Faktensätze in die Faktentabelle. Der prüfende Join kann
jetzt sogar entfallen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
85/166
Zweischritt – Ladeverfahren. 1. Schritt Aktualisieren Dimensionstabelle, 2. Schritt
Key Lookup zum Umschlüsseln von Business Key zu künstlichem Schlüssel
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
6.2
86/166
Management des Ladeprozesses (Workflow)
Der Aufbau der Datenversorgung des Data Warehouses gliedert sich in zwei
Aufgabenstellungen:
1. Entwurf und Erstellung der detaillierten Transformations- und Ladeschritte
(Mapping - Techniken).
2. Kombination der Transformations- und Ladeschritte zu einem Lade- und
Transformationsprozess (Workflow - Techniken).
6.2.1 Aufgaben des Ladeprozesses
Der Ladeprozess ist das äußere Gebilde des ETL -Prozesses, das nach außen das
Warehouse System repräsentiert. Auf dieser globalen Ebene findet letztlich die
Kapselung der Teilprozesse mit der Detaillogik statt. Die Teilprozesse untergliedern
sich wieder. Das geschickte Kapseln und Zusammenfassen von Funktionen führt
letztlich zur nötigen Flexibilität. Es gibt keine Regeln die festlegen, was wie
zusammengefasst werden sollte. Es gibt nur die eine Anforderung, dass es
mindestens vier Gliederungsstufen geben sollte, um ausreichende Flexibilität zu
garantieren.
6.2.2 Struktur des Ladeprozesses
Durch die mindestens 4-stufige Gestaltungsmöglichkeit liefert der Ladeprozess
die Flexibilität, um Ladeläufe je nach Anforderung in mehreren Varianten
ablaufen zu lassen. Die vier Stufen sind:
1. Transformationslevel (TL): Wandeln und Laden auf Feldebene. Das sind
Funktionen, wie sie z. B. als Datenbankfunktionen bekannt sind (substr,,
Expression...)
2. Mappinglevel (ML): Wandeln und Laden auf der Ebene von einer oder
mehreren Tabellen. Zusammengefasst werden logisch zusammen
gehörende Tabellen (technisch – funktionale Zusammenhänge). Betrachtet
werden z. B. alle Quelltabellen, die zum Füllen von ein oder mehreren
zusammenhängenden Tabellen ( z. B. Parent / Child – Konfigurationen)
nötig sind. Die tabellenbezogene Verarbeitung wird komplett
abgeschlossen, beinhaltet also Inserts/Update/Delete - Vorgänge.
3. Prozesslevel I (P1): Mehrere Mappings sind zu Verarbeitungsfolgen
zusammengeschlossen. Es entstehen zusätzliche, den Mappings
übergeordnete Einheiten. Zusammen gehören z. B. das Füllen aller
Dimensionen und Fakten eines Starschemas.
4. Prozesslevel II (P2): Diese Stufe sorgt für die flexible Gestaltung des
Gesamtprozesses. Die Verarbeitungsfolgen des Prozesslevel I können hier
flexibel kombiniert werden. Auf dieser Ebene ist spontanes Umhängen
einzelner Abfolgen mit graphischen Mitteln möglich. Auf diesem Level kann
z. B. im Verlauf des Warehouse – Betriebs entschieden werden, ob ein
Starschema in einer Ladeperiode gefüllt oder ausgespart wird.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
87/166
4 Ebenen der Datenflusssteuerung im Data Warehouse
Von außen betrachten sieht man nur den äußeren Prozessrahmen. Die gesamte
Ladelogik ist gekapselt und fügt sich in den IT – Betrieb des Unternehmens ein. Der
Gesamtprozess kann zeitgesteuert gestartet werden.
Ladeläufe kapseln ihre Logik
6.2.3 Interaktion mit anderen Systemen und Automatisierung
Ein Data Warehouse – System sollte vollständig automatisiert mit anderen DV –
Systemen im Unternehmen oder Partnerunternehmen kommunizieren können:
 Es sollten keine manuellen Eingriffe (z. B. manuelles Kopieren von
Eingabedaten) nötig sein, um den Betrieb zu garantieren.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur


88/166
Kontrollierende Tätigkeiten sind auf ein Minimum zu beschränken.
Außergewöhnliche Ereignisse sind durch entsprechende Alarmfunktionen
(Mail – Benachrichtigungen) zu lösen.
Angeschlossene Systeme (zuliefernde Quellsysteme) dürfen durch die
Aktivitäten des Warehouse – Systems nicht beeinträchtigt werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
89/166
7 Mehrfachverwendung von Bereichen und
Objekten
Die historische Entwicklung von Warehouse Systemen in den Unternehmen hat oft
dazu geführt, dass solche Systeme an mehreren Stellen gleichzeitig, aber isoliert
von einander, aufgebaut wurden. Dies verursacht nicht nur ein Mehr an Kosten,
sondern mindert auch die Qualität der Informationen, wenn fachübergreifende Daten
zusammenhängend genutzt werden sollen.
Es können drei Szenarien entworfen werden:
Szenario 1 (1990 – 2000): Direktes Aufsetzen der Data Marts auf die operativen
Systeme.
Die in den operativen Systemen oft unterschiedlich verwendeten Daten (z. B.
Stammdaten) werden auch unterschiedlich ausgewertet.
Direktes Aufsetzen der Data Marts auf die operativen Systeme
Szenario 2 (2000 - heute): Einsatz einer zentralen Warehouse Schicht. Dieses
Verfahren ist oben bereits besprochen worden. Es bietet die Möglichkeit
unterschiedlich genutzte Quelldaten zu konsolidieren und Fehler im Verlauf der
Extraktion zu korrigieren. Allerdings können sich bei dem Aufbau der
fachspezifischen Data Marts wieder Fehler einschleichen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
90/166
Einsatz einer zentralen Warehouse Schicht
Szenario 3 (aufkommende Verfahren): Einsatz einer zentralen Warehouse Schicht
und Zusammenfassen der Data Marts. Dieses Verfahren bietet die größte Sicherheit
gegenüber potentiellen Fehlern. Das Verfahren hat darüber hinaus den Vorteil, dass
Datenbereitstellungs- (ETL-) Kosten über weite Wegstrecken hinweg gemeinsam
nutzbar sind.
Die Integration der Data Marts kann entweder nur technischer Natur sein, d. h. die
Data Marts liegen innerhalb der selben Datenbankumgebung sind aber noch als
getrennte Datenmodelle vorhanden oder die Data Marts sind auch als Datenmodelle
integriert. Dieses Verfahren ist das mit Abstand effizienteste Verfahren, das die
meisten Synergien nutzt, die geringsten Kosten verursacht und die geringste
Fehlerquote beinhaltet.
Einsatz einer zentralen Warehouse Schicht und Zusammenfassen der Data Marts
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
7.1
91/166
Verteilte (Mehrfach-) Verwendung von Data Mart
Strukturen
Wenn das vorgenannte 3te Szenario gewählt wird, so können Data Marts nicht mehr
isoliert betrachtet werden, auch wenn sie in der Regel auf unterschiedliche und
eingegrenzte Themenzusammenhänge bezogen sind.
Es ist möglich, Fakten- und Dimensionstabellen einmalig vorzuhalten. Redundanzen
werden vermieden. Vorteile sind:
 Minimierung von Platzverbrauch bei großen Faktentabellen.
 Gemeinsam genutzte ETL – Bausteine.
 Minimierung des Aktualisierungsaufwands.
 Gemeinsame Nutzung von logischen Strukturen führt zur Data Mart
(Abteilungs-) – übergreifenden Synchronisierung von Daten und damit
Vergleichbarkeit von Auswertungen.
 Einmaliger Aufwand für Bereitstellung von Hardware und Software –
Lizenzen.
 Einmalige Betriebskosten.
Damit ist es auch möglich Data Mart – Grenzen vollständig verschwimmen zu
lassen. Dimensionstabellen mit beliebigen Faktentabellen zu kombinieren . Es muss
lediglich die Struktur des Foreign Key - Schlüssels stimmen.
Welche Dimensionsdaten sinnvoll mit welchen Faktendaten harmonieren, kann nur
noch mit Hilfe einer Metadaten – Dokumentation herausgefunden werden.
Metadaten – Werkzeuge erlauben eine Data Mart – bezogene Sicht, obwohl die
Dimensionen und Fakten nicht mehr nur einem Data Mart zugeordnet werden
können.
Bei dieser Vorgehensweise, können unterschiedliche Data Marts nicht mehr
physisch bzw. räumlich verteilt sein, auch wenn „Eigentümer“ unterschiedliche
Fachabteilungen sind.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
92/166
Data Mart - übergreifende Wiederverwendung von Dimensionen
und Fakten (unternehmensweit eingesetztes 3 Schichtenmodell)
Die Vorgehensweise stellt kein Aufweichen des 3 – Schichten – Modells des
Warehouses dar. Das 3 – Schichtenmodell ist ja lediglich eine logische Betrachtung.
In der physischen Umsetzung wird hier den beiden konträr angelegten
Anforderungen entsprochen:
 Bereitstellung individuell zugeschnittener Informationen für Fachabteilungen
und spezifischen Benutzergruppen.
 Zentrales kostenschonendes und wiederspruchsfreies Management des
Warehouses.
Der Nachteil dieser Vorgehensweise ist das Bilden einer gültigen Primary Key /
Foreign Key – Verbindung zwischen allen sinnvollen Kombinationen aus Fakten –
und Dimensionstabellen. Diese sind aus technischen Gründen für die Star
Transformation in der Datenbank nötig. Während des Ladens werden diese
Beziehungen aus Performancegründen aufgehoben und müssen dann wieder nach
Abschluss des Ladens aktualisiert werden. Das kann zu einer Vergrößerung des
Schlüsselbereichs in der Faktentabelle führen.
7.2
Verwaltung gemeinsam genutzter Tabellen
Das Konzept der über Fachgrenzen hinweg, mehrfach genutzten Dimensionen und
Faktentabellen läuft darauf hinaus, dass Tabellen von unterschiedlichen
Nutzerkreisen verwendet werden.
Datenbanktechnisch kann die Trennung über Datenbankschemen erfolgen.
Innerhalb eines Datenbankschemas können „private“ Daten liegen. Ein Verweis in
das Schema in dem alle frei verfügbaren und gemeinsam genutzten Dimensionen
liegen, ist möglich.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
93/166
Darstellung der unterschiedlichen Schemata in dem Modell für mehrfach genutzte
Dimensionen und Fakten
Die technische Voraussetzung für dieses Verfahren ist die Nutzung einer einzigen
Datenbank.
Hier wird deutlich, wie sinnvoll die Integration bzw. konzentrierte Sammlung von
Warehouse - Daten an einer Stelle ist. Hinzu kommt der Vorteil der gemeinsamen
Warehouse – Hardware, so dass zusätzlich noch weitere Synergieeffekte genutzt
werden können.
Stößt man an Hardware – Grenzen, so sollte nicht gleich eine größere Maschine
gekauft werden. Die weiter unten erwähnte Real Application Cluster (RAC)
Technologie erlaubt es kleine Rechner im Verbund zu betreiben und eine einzige
Datenbank über die Rechnergrenzen hinweg skalieren zu lassen.
Es treffen mehrere Möglichkeiten zur Nutzenoptimierung zusammen:
 Integration von Daten führt zu minimiertem Verwaltungsaufwand und
Entwicklungsaufwand.
 Ein geringerer Anteil von Lade – (ETL -) Schritten ist nötig, da mehr
Informationen gemeinsam geladen werden und nicht separate, verteilte
Data Marts mit Daten versorgt werden müssen.
 Die Konzentration von Hardware führt zu potentiell weniger Hardware –
Einsatz weil Hardware – Ressourcen mehrfach verwendbar sind [siehe
separates Kapitel].
7.2.1 Nutzerübergreifende, organisatorische Abstimmungen
Die gemeinsame Nutzung von Ressourcen im Data Warehouse ist nicht nur
technologisch oder verfahrenstechnisch zu realisieren. Sie erfordert zusätzliche
organisatorische Abstimmungen über die gemeinsam genutzten Ressourcen.
Folgende Fragen sind zu beantworten:
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur



94/166
Wer nutzt die Ressourcen wie intensiv? Hiervon hängt die Finanzierung der
Ressource ab.
Wer pflegt die Ressource?
Wie sieht die Abstimmung bei Änderungsanforderungen aus?
Zur Lösung dieser Fragen ist sicherlich ein ständiger gemeinsamer „Ausschuss“
nötig.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
95/166
8 Metadaten
Metadaten sind von ihrer Natur aus beschreibende Daten. Sie beschreiben,
dokumentieren etwas anderes. Unabhängig von ihrem Gebrauch haben Metadaten
grundsätzliche Eigenschaften, die ihre Eigentümlichkeit ausmachen:
 Eindeutigkeit:
Die Beschreibungen haben den Rang eindeutiger Definitionen,
Beschreibungen dürfen nicht mehrfach vorhanden sein. In einem Repository
System dürfen Namen z. B. nur einmal vergeben werden.
Umgekehrt dürfen nicht unterschiedliche Beschreibungen für ein und
dasselbe Objekt existieren.
 Einmaligkeit:
Die Beschreibungen dürfen nicht an mehreren Stellen vorgehalten werden.
 Semantisches
Sprachmittel:
Es sind nur beschreibende Mittel, keine Code – Bestandteile.
 Neutralität:
Beliebige Objekte, Sachverhalte müssen sich beschreiben lassen.
8.1
Metadaten im Warehouse - Umfeld
Metadaten können im Warehouse Umfeld nach zwei Verwendungsarten
unterschieden werden:
 Metadaten für den Entwicklungsprozess (Design – Time)
 Metadaten für den Betriebszeitpunkt (Run Time)
Diese
Unterscheidung
entspricht
den
Praxisanforderungen,
denn
Entwicklungsaktivitäten könnten den Echtbetrieb stören, wenn konkurrierend auf
Metadaten zugegriffen wird.
Daneben richten sich Metadaten an unterschiedliche Zielgruppen:
 Warehouse – Entwickler,
 Fachanwender des Warehouses,
 Verantwortliche Betreiber.
Folgende Aufgaben werden über das Metadatenmanagement erfüllt:
 Entwicklungsmedium: Die Warehouse – Entwicklung geschieht am besten
mit Hilfe von Modellen (z. B. Datenmodelle, Mappingmodelle usw.). Diese
Modelle sind bereits Metadaten aus denen heraus physische Strukturen
generiert
werden
-> („Modellieren / Generieren statt Programmieren und Scripting)“
(z. B. DDL / PL SQL /ABAP / XML - Generierung).
 Metadaten stellen Strukturen für einzelne Warehouse – Komponenten
bereit, z. B. Datenzugriffsstrukturen für Auswertewerkzeuge.
 Metadaten dokumentieren das Gesamtsystem. Sie liefern technische und
fachliche Beschreibungen aller Objekte in dem Warehouse (z. B. Glossars
zur fachlichen Begrifflichkeit).
 Dokumentation der operativen Quellsysteme.
 Anwenderhilfen: Dokumentation von Abfragepfaden für Endbenutzer (z. B.
Drill Down – Wege).
 Beziehungsabhängigkeiten: Auswirkungs- und Herkunftsanalysen (Impact
Analysis und Lineage).
 Verwaltungsdaten: Sie beschreiben die Gültigkeit von Berichten (letzte
Ladeläufe), Verantwortliche für Berichte.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
96/166
Arten und Verwendungen von Metadaten im Data Warehouse
8.1.1 Beispiele für Einsatzfelder der Metadaten
Ableitung von Warehouse – Dokumentation aus dem Warehouse –
Entwicklungsvorgang
8.1.1.1 Warehouse Handbuch
Die Dokumentation zu dem Warehouse – System kann aus den Warehouse –
Beschreibungen abgeleitet werden. Dies setzt voraus, dass im Rahmen der
Entwicklung entsprechende Beschreibung in Textform den jeweiligen Objekten
hinzugefügt worden sind. Die ideale Vorgehensweise ist die komplette Werkzeug –
gestützte Dokumentation. Die Erstellung eines Warehouse - Systems erfolgt in der
Regel Top Down, d. h. als äußerer Rahmen wird z. B. ein Projekt definiert. Innerhalb
der Projekte verläuft die Einteilung entweder entlang der operativen
Anwendungssysteme oder entlang von Themengebieten. Über die textlichen
Beschreibungen an den jeweiligen Objekten kann ein Rahmengerüst für ein
Anwenderhandbuch generiert werden, in dem zumindest ein großer Teil der
allgemeinen Beschreibungen zur groben Orientierung für Anwender gegeben ist.
Dies entsteht dann einmalig und an einer Stelle. Das ist noch keine
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
97/166
Funktionsbeschreibung
von
Auswertungsoberflächen.
Solche
detaillieren
Informationen sind noch separat zu erfassen.
Im Rahmen der Warehouse – Entwicklungswerkzeuge sind die entsprechenden
Möglichkeiten zu nutzen. Diese haben sicherlich keine ausgefeilten Text – Editoren,
aber ergänzende Script- und Makrosprachen, können die Textbeschreibungen der
vielen Objekte in der richtigen Reihenfolge extrahiert und in einer ersten sinnvollen
Form automatisiert aufbereiten werden. Die Betonung liegt auf automatisiert. Der
Nutzen entsteht, wenn das Repository die Dokumentation generiert und nicht wenn
die Entwickler die Dokumentation zusätzlich manuell bearbeiten müssen.
8.1.1.2 Glossare und Definitionen
Glossare sind Sammlungen von fachlichen Definitionen zu Geschäftsobjekten,
deren Beziehungen untereinander und Prozessabläufen, in denen die
Geschäftsobjekte eine Rolle spielen. Diese Informationen gibt es meist bereits durch
die Prozess- bzw. Datenmodellierung. In einigen Unternehmen werden diese
Modellierungsschritte mit separaten Werkzeugen durchgeführt. Die Hauptaufgabe
dieser Werkzeuge ist auch wieder Dokumentation. Diese Dokumentation sollte man
nutzen, indem bestehende Geschäftsobjekt- bzw. Prozessdefinitionen auch hier
wieder automatisiert in das Metadaten Repository des Warehouse –
Entwicklungswerkzeugs überführt werden. Auch hier helfen Scriptsprachen.
Innerhalb der Warehouse – Entwicklungswerkzeuge müssen im Idealfall keine
Änderungen gemacht werden. Der generelle Aufwand hierfür sollte sehr gering
gehalten werden. Ähnlich wie bei den allgemeinen Beschreibungen sollten Glossars
ebenfalls vollständig aus dem Werkzeug heraus mittels Sriptsprache, also
automatisiert generiert werden. Textprogramme sollten nur noch graphische
Aufbereitungen vornehmen.
8.1.1.3 Betriebshandbuch
Analog ist mit dem Betriebshandbuch zu verfahren. In dem Betriebshandbuch ist
zum einen der Gesamtablauf des Systems beschrieben, d. h. die zeitliche
Reihenfolge der Ladeläufe. Zum anderen sind hier die Anweisungen für den
technischen Betrieb des Warehouses durch das Operating zu finden.
Diese Informationen stammen aus dem Warehouse – Entwicklungswerkzeug. Dort
sind
sie
an
den
Prozessund
Mappingobjekten
hinterlegt.
Auch für dieses Handbuch gilt die automatisierte Generierung mittels Scriptsprache.
8.1.1.4 Berichtsverifizierung / Legenden
Eine der häufigsten Quellen von Misstrauen in die Richtigkeit von Berichten ist
Ungewissheit über deren Herkunft. Daher sollte den Benutzern auch die Möglichkeit
der Quellenanalyse zu den Berichten gegeben werden. Da es sich hier um viele
Einzelinformationen handelt, sind separate Auswertewerkzeuge notwendig. Und
diese sollten sinnvollerweise über einen Webbrowser zur Verfügung stehen. Globale
Herkunftsdaten können schließlich auch als festcodierter Text in den Berichten
stehen. Hierfür muss weniger Aufwand betrieben werden.
8.1.1.5 Aktualitätsscheck
Endanwender benötigen auch eine Information über die Aktualität der Berichte, die
sie gerade bearbeiten. Meist ist es die Information über den letzten Ladelauf. Aber
auch Informationen über Quelle und Vollständigkeit der Berichtsdaten sind sinnvoll.
Diese zur Laufzeit des Warehouses entstehenden Daten sind in den Runtime –
Systemen der Warehouse – Werkzeuge enthalten und dokumentiert. Es kann
sinnvoll sein, diese Informationen zusätzlich zu extrahieren und separat, z. B. in
Form einer Tabelle bereit zu halten. Diese Tabelle kann fachlogisch organisiert sein.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
98/166
Aktualisierungsinformationen im Ladevorgang
8.1.2 Einmaliges,
Metadaten
zusammenhängendes
Speichern
von
In klassischen Warehouse – Umgebungen fallen Metadaten durch unterschiedliche
Werkzeuge und an verschiedenen Stellen der Architektur an. Damit sind die
Metadaten nicht mehr zusammenhängend auswertbar. Auswirkungs – und
Herkunftsanalysen enden oft an den jeweiligen Werkzeug - Grenzen.
Klassische Lösung: Metadaten sind über verschiedene Werkzeuge verteilt
Auch wenn Metadaten durch verschiedene Werkzeuge und auch außerhalb der
Datenbank entstehen, sollten sie an einer Stelle zusammengefasst gespeichert
werden. Herkunfts- und Auswirkungsanalysen sollten den kompletten
Informationsfluss im Data Warehouse umfassen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
99/166
Modernes Szenario mit einer einheitlichen Metadaten - Verwaltung
8.1.3 Design – Time Metadaten
Metadaten für den Entwicklungsprozess müssen alle Warehouse - Schichten und
damit auch alle Modellarten umfassen. Das bedeutet die Metadaten müssen sowohl
die relationale Datenwelt, als auch die multidimensionalen Objekte beschreiben
können. Mindestens folgende Objekttypen sollten enthalten sein:
 Tabelle, View ( Columns und alle physischen Eigenschaften und fachlichen
Beschreibungen)
 Dimensionen / Fakten (und Entsprechungen der Würfel) mit allen
Beschreibungen
 Berichte
 Benutzer / Benutzergruppen
 Transformationsprogramme (Mappings, Prozeduren, Regeln)
 Prozesse (Jobs)
 Anwendungssystem (Einteilung in Module)
8.1.4 Runtime – Metadaten
Laufzeitinformationen sind:
 Letzter Änderungszeitpunkt der Daten im Warehouse
 Datenmenge der geladenen Dateninkremente
 Fehlerhafte Daten des letzten Ladelaufes
 Historie von Ladeläufen
 Betriebsinformationen
 Informationen über Ladezyklen und geplante Dauer
 Handlungsanweisungen für Ausnahmesituationen
8.1.5 Neutralität der Modelle
Implementierung
gegenüber
der
physischen
In der Warehouse - Praxis haben sich zwei Speichermodelle für die Ablage der
Warehouse - Daten etabliert:
 Speichern der Daten in relationalen Tabellen mit der Möglichkeit von
normalisierten und denormalisierten Datenmodellen (ROLAP).
 Speichern der Daten in multidimensionalen Würfeln, bei denen auf die
Speicherorte aller Faktenwerte direkt zugegriffen werden kann (MOLAP).
Die Struktur der Informationen beider Speichermodelle ist jedoch gleich. Damit
sollten auch die Metadatenbeschreibungen gleich sein. Der multidimensionale
Entwurf der Metadaten sollte nur einmal erfolgen. Die Option die Warehouse –
Daten entweder relational oder multidimensional zu speichern, sollte die
Metadatenbeschreibung nicht berühren.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
8.2
100/166
Erweiterbarkeit des Metadaten - Repositories
Idealerweise sollte das Metadaten Repository bzgl. der folgenden Meta - Metatypen
flexibel erweiterbar sein:
 Objekttyp
 Attributtyp
 Beziehungstyp
Metadatenaustausche mit anderen Komponenten / Tools sollten mittels CWM
(Common Warehouse Metamodel – OMG) stattfinden, also auf der Basis von XML.
4 – Ebenenkonzept von “toolneutralen – Metadaten - Repositories“
Die Erweiterbarkeit der Repository – Struktur selbst (also der Meta – Meta –
Definition), wie sie das 4 – Ebenenkonzept eines tollneutralen Repositories erlaubt,
ist die Voraussetzung dafür, dass auch alle Objekte außerhalb der Warehouse –
Prozesse beschrieben werden können. In einem Unternehmen können mehrere
unterschiedliche Auswertewerkzeuge eingesetzt werden. Alle diese Werkzeuge,
auch wenn sie von unterschiedlichen Herstellern kommen, müssen dokumentiert
werden können. Hierzu legt der Entwickler neue Objekttypen und neue Attributtypen
in dem Repository an und verbindet die neuen Objekttypen über neu festgelegte
Beziehungen mit den bestehenden Objekttypen. Alle Eintragungen zu dem neuen
Objekttyp sind jetzt ebenso wie bestehende Objekttypen z. B. über eine
Auswirkungs- – oder Herkunftsanalyse abfragbar.
Das Metadaten Repository sollte nicht nur über dedizierte Tools modifizierbar bzw.
lesbar sein. Auch nicht Tool – gestützte Zugriffe wie z. B. natives SQL sollte möglich
sein.
8.3
Automatisiertes Pflegen der Metadaten
Die Praxis hat gezeigt, dass Metadaten dann unvollständig (und somit unbrauchbar)
werden, wenn sie manuell gepflegt werden.
Das Erstellen und Modifizieren der Metadaten sollte daher automatisiert erfolgen.
Scripte oder ähnliche Programme sollten immer dann die Metadaten im Hintergrund
modifizieren, wenn Entwickler die Struktur des Warehouses verändern.
Aus diesem Grund sollte das Metadaten – Repository über eine programmierbare
Schnittstelle verfügen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
101/166
8.3.1 Zusätzliche Verwaltungsinformationen
Die Einträge in dem Metadaten Repository können zusätzliche Informationen zur
leichteren Verwaltung mit sich führen. Diese können sein:








Erstellt am
Autor / Ersteller
Zuletzt geändert am
Änderungsautor
Version
Status
Bearbeitungshinweise
Description / Beschreibung
Die Einträge in diesen Attributen sollten automatisiert gepflegt werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
102/166
9 Operativ genutzte Warehouse – Daten
Zu Beginn dieses Textes wurde bereits erwähnt, dass sich die Einsatzgebiete von
Data Warehouse – Systemen erweitern. In einigen Fällen schmilzt die Grenze
zwischen operativen und dispositiven Daten. Die in der Vergangenheit aufgestellte
Regel, beide Datenarten streng zu trennen, wird mittlerweile oft in Frage gestellt.
Tatsächlich gibt es heute weniger technologische Gründe für diese Trennung und
eine engere Verzahnung beider Datenarten kann praktisch sein.
Hier noch einmal zusammengefasst die Gründe für eine Trennung beider
Datenarten und für eine Duplizierung der Daten im Data Warehouse:
Daten werden aus den operativen Anwendungssystemen in eine separate
Datenhaltung kopiert weil:
 In einem zentralen, einheitlich strukturierten Data Warehouse sind
Informationen für viele Benutzergruppen leichter zugänglich, als wenn sie
verteilt an vielen Fundstellen liegen würden.
 Die Datenmodelle sind an analytischen Fragestellungen ausgerichtet und
nicht an optimalen Zugriffspfaden, wie das in operativen Datenmodellen der
Fall ist.
 Im Data Warehouse liegen Informationen in historisierter Form vor, anstelle
von Momentaufnahmen in operativen Systemen.
 Entlastung der operativen Systeme durch Verlagerung von aufwendigen
Analyse – Abfragen.
9.1
Szenarien und Problembereiche bei operativ
genutzten Warehouses
Diese Gründe gelten nach wie vor. Allerdings können sie heute um weitere
Anforderungen ergänzt werden, denn wenn Daten aus mehreren Quellsystemen
zusammengezogen werden, so ist das Mehr an Informationen durchaus auch zur
besseren Steuerung operativer Prozesse nutzbar. Auch die Kenntnis über den
historischen Kontext von Informationen oder einfach das Wissen, was sich in der
Vergangenheit zugetragen hat, kann in der Gegenwart helfen.
Es sind die folgenden angenehmen Eigenschaften die das Warehouse System auch
für operative Zwecke interessant macht:
 Durch das Warehouse liegen Daten aus mehreren Systemen in einer
integrierten Form vor.
 Diese Daten können mit einem „historischen Gedächtnis“ versehen werden.
Was früher war, ist in den transaktionsorientierten Systemen meist
„vergessen“.
 Die Daten sind leicht zugreifbar. Das Schnittstellenproblem ist meist gelöst.
Es sind Standardschnittstellen (SQL, XML) und die Daten liegen in einer
sortierten Form vor.
Die Folge ist, dass an dispositive Systeme plötzlich Anforderungen gestellt werden,
wie man sie sonst nur aus dem operativen Umfeld kennt:
 Kurze Antwortzeiten im Sekundenbereich für Benutzerzugriffe.
 Hohe Verfügbarkeit, das bedeutet auch ein schnelles Wiederherstellen im
Recovery – Fall.
 Hohe Aktualität der Daten. Die Daten dürfen kaum älter sein, als wenige
Minuten.
 Es interessieren meist nur Daten aus den jüngsten Zeitperioden.
Hier entstehen Konflikte mit den Möglichkeiten bisheriger Warehouse – Systeme:
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur



103/166
Kurze Antwortzeiten im Sekundenbereich sind bei großen Datenmengen
kaum machbar.
Hohe Verfügbarkeit: Große Datenmengen lassen sich nur aufwendig
recovern.
Hohe Aktualität der Daten, führt zu ständigen Ladeaktivitäten im
Warehouse:
o Das System kann ständig mit dem Nachladen beschäftigt sein,
o es fehlt Rechenleistung für Analysen,
o die Informationen sind u. U. nicht konsistent, weil irgendein Teil der
Informationen bereits wieder geändert wurde.
9.1.1 Einsatzszenarien operativ genutzter Warehouses
Die folgende Einsatzszenarien lassen sich unterscheiden:
 Die Bereitstellung von operativ nutzbaren Daten für Abfragen von
Anwendern aus beliebigen Abteilungen im Unternehmen. Das ist das sog.
Operational Data Store (ODS) Konzept. Hier spielt die zeitnahe
Verfügbarkeit der Daten noch keine Rolle.
 Wird ein hoher Anspruch an die Aktualität der Daten gestellt, z. B. wenige
Minuten nach Ablauf der operativen Transaktion so findet das Realtime
oder Near Realtime Verfahren Anwendung.
 Werden Warehouse Daten automatisiert in die operativen Prozesse zu dem
Zweck der Steuerung zurückgeführt, so wählt man das Loop Back
Verfahren.
Einordnung der unterschiedlichen Warehouse – Verwendungsarten gegenüber
Latenzzeit und Datenart
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
9.2
104/166
Operational Data Store Konzept
Sollen Anwender aus beliebigen Abteilungen die oben beschriebenen Vorteile der
Warehouse – Technik nutzen können und Warehouse Informationen in ihren
operativen Prozessen verwenden, so lässt sich das mit dem Konzept des
Operational Data Stores (ODS) lösen. Hierzu wird ein Bereich in dem Data
Warehouse geschaffen, in dem zwar bereinigte und konsolidierte Daten enthalten
sind (i. d. R. in der 3. Normalform). Diese Daten umfassen jedoch nur einen
historisch kurzen Zeitraum. Weil die Datenmenge beschränkt ist, lassen sich
performante Abfragen durchführen und für die Daten dieses Ausschnittes kann leicht
ein Recovery absolviert werden.
Einordnung ODS
Die Daten in der ODS – Schicht liegen in granularer Form analog den operativen
Transaktionen vor. Es wird ein Zeitraum definiert, für den die Daten vorgehalten
werden. Mit dem „Partition Exchange and Load“ – Verfahren können die Daten
entweder bereits vor oder nach Ablauf dieses Zeitraums in das eigentliche
Warehouse kopiert werden.
Das Operational Data Store - Konzept wird in jüngster Zeit immer häufiger
eingesetzt, weil sich zum einen die technischen Möglichkeiten verbessert haben und
zum anderen aber auch die Bedeutung der operativen Warehouse – Nutzung
gewachsen ist.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
105/166
Einführung einer ODS – Schicht zur operativen Nutzung von Warehouse - Daten
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
9.3
106/166
Verfahren für aktivere Rollen des Warehouses
(Realtime / Loop Back)
Zur Steuerung von granularen Prozesse ziehen Unternehmen zunehmend auch
Informationen aus Data Warehouse - Systemen heran. Allerdings nicht als einmalige
statisch verstandene Berichte, die in Form von Zahlentabellen Berichtszeiträume
referieren, sondern als permanent wirkende, automatisierte Steuerdaten, die
unmittelbaren Einfluss auf
Entscheidungen auf der taktischen, operativen
Unternehmensebene haben.
Damit entstehen neue Herausforderungen an die Architektur von modernen
Warehouse - Systemen:
 On-the-Fly - Aktualisierung der Warehouse - Daten (Real Time - Aktualität)
 Automatisierung der Berichterstellung und des Analyseprozesses (Fast
Refresh Summary)
 Aktive Informationsbereitstellung (durch Automatismen bzw. Events
gesteuert)
 24/7-Verfügbarkeit
 Transaktionssicherheit auch in Warehouse – Systemen
 Die Geschwindigkeit, mit der das Warehouse seine Daten aufbereitet, muss
mit der Geschwindigkeit, mit der die Daten in der operativen Welt entstehen,
mithalten.
 Die Daten müssen aus allen Vorsystemen synchron geliefert werden. Sollen
Daten aus mehreren Quellsystemen in dem Data Warehouse miteinander
verbunden werden, so sind die Lieferzeiten aufeinander abzustimmen.
Hier helfen folgende technische Features und Optionen:










Verbindungssoftware (Conectors) zu diversen Standardanwendungen (SAP
R/3, CRM- Systeme...).
Asynchrone Kopplungselemente zur Pufferung von Transaktionen
(Queueing).
Workflow Technik zur Event - Steuerung.
Fast Refresh Aktualisierungstechniken für automatisierte Berechnungen.
Streaming -Techniken in denen Daten über eine verkettete Abfolge von
Transformationen in Informationen gewandelt werden.
In die Datenhaltung integrierte Analyse- und Mining Funktionen mit denen
ohne unnötige Datentransporte direkt in der Datenablage auf die Daten
automatisiert eingewirkt werden kann.
Automatisiertes Korrigieren von Datenfehlern
Standardisierte Datenformate wie XML.
Durchgängig genutzte Metadatenstandards um Warehouse - Systeme
flexibel über Modelle steuern zu können, um sie schnell an die sich ständig
ändernden Geschäftsprozessen anzupassen.
BPEL (Business Process Execution Language ) Funktionen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
107/166
9.3.1 Der Datenfluss im Real Time / Loopback Warehouse
Datendurchlauf Realtime – Verfahren mit Loop Back
Der Datenfluss im Realtime Data Warehouse kann wie folgt skizziert werden:
1. Die Datenübernahme aus dem operativen System muss synchronisiert
erfolgen. Das nachgelagerte System muss Daten in der Geschwindigkeit
weiterverarbeiten, in der diese Daten auch im operativen System entstehen.
Dabei darf das operative System nicht behindert werden, weder durch den
laufenden Betrieb noch durch eventuelle Ausfallzeiten des nachgelagerten
Systems. Um dies zu gewährleisten, wird ein Queue – basierter Sende –
Mechanismus zwischen dem operativen und dispositiven System installiert.
Die Message – Queue speichert die von dem operativen System
gesendeten Sätze im Verlauf einer eventuellen Ausfallzeit des Warehouses.
Die Message - Queue sorgt auch für die Quittierung der von dem
Warehouse „abgeholten“ Sätze. Der Austausch von Daten zwischen
operativem und dispositivem System wird somit als logische Transaktion
gesteuert.
2. In dem Eingangsbereich des Warehouses müssen die eingelaufenen Sätze
geprüft werden. Das Prüfverfahren muss jedoch so gestaltet sein, dass es
im Fehlerfall den Gesamtablauf nicht behindert. Fehlerhafte Sätze werden
aussortiert. Diese müssen im korrigierten Zustand nachgeladen werden
können. Hierzu sind die jeweils verantwortlichen Stellen zu benachrichtigen.
Alle anderen Daten müssen unabhängig von den fehlerhaften Daten
stimmig sein.
3. Da die späteren Analyseschritte meist mehrere Informationen (mehrere
Sätze) bis hin zu größeren Datenmengen verarbeiten, wird es sinnvoll sein,
das Warehouse schubweise mit neuen Daten zu versorgen. D. h. der
Aktualisierungsvorgang läuft nicht ständig, sondern periodisch in
Zeitintervallen. In den Zwischenzeiträumen kann das System automatisierte
Analysen
fahren.
Um diesen Zustand zu erreichen, wird der ständige Ladefluss der Daten
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
4.
5.
6.
7.
108/166
durch die Queue unterbrochen. Technisch wird die Queue periodisch
ausgelesen. Das Ausleseintervall bestimmt dabei die Häufigkeit der
Aktualisierung des Warehouses. Die nachgelagerten Analyseschritte
können ebenfalls über diese Intervalle gesteuert werden.
In einem Konsolidierungsschritt erfolgen jetzt ähnliche Maßnahmen, wie sie
auch in einem herkömmlichen Data Warehouse geschehen. Die
Aufgabenstellung besteht darin, operative Daten inhaltlich und technisch
aufeinander abzustimmen, wenn diese aus unterschiedlichen Vorsystemen
stammen.
In
dem
Realtime
Warehouse
kommt
diesem
Konsolidierungsschritt sicherlich weniger Bedeutung zu, da in der Kürze der
Zeit nicht allzu viele Quelldatenströme konsolidiert werden können.
Nach diesem Schritt kann die eigentliche Warehouse – Versorgung
vollzogen werden, das bedeutet, dass die geprüften und konsolidierten
Daten in die Warehouse – Schichten überführbar sind, je nach dem, ob mit
einer ODS – Schicht oder einer Warehouse – Schicht gearbeitet wird. Eine
explizite Stage – Schicht gibt es bei dieser Art der Verarbeitung nicht mehr.
Diese ist durch die vorgelagerten Puffer- und Prüfschritte ersetzt worden.
Im Gegensatz zur klassischen Verwendung eines Data Warehouses liegt
der Hauptzweck des Realtime/Loopback – Verfahrens in der automatisierten
und zeitnahen Feststellung von Entwicklungen. Es schließt sich also jetzt
eine Phase des automatisierten Analysierens an. Das sind Berechnungen,
Vergleiche, Aggregationen usw. die man als Batch – Jobs im Hinterrund
fährt. Die Analysen verfügen über den vollen historischen Datenvorrat des
Warehouses im Hintergrund. Es sind also qualitativ hochwertige Analysen
möglich.
Der Loopback – Mechanismus ist ein Regelmechanismus, der
Steuerinformationen wieder zurück an die operativen Prozesse gibt.
Grundlage für diese Steuerinformationen sind natürlich einerseits die
Analyseergebnisse des Vorschrittes. Diese Ergebnisse stehen jedoch nicht
neutral neben den Geschäftsprozessen, sondern sind vor dem Hintergrund
der geschäftlichen Entwicklung der Unternehmen zu bewerten und
einzuordnen. Die hierzu nötigen geschäftlichen Regeln stellt das
Management als Regeldaten für den Loopback - Prozess bereit. Innerhalb
des Loopback – Prozesses entstehen dann als Folge von einfachen
Entscheidungsabfragen (if/then/else/case usw.) Impulse für die operativen
Prozesse.
Im letzten Schritt findet die Kommunikation mit den operativen Prozessen
statt, die je nach Geschäftsfall technisch unterschiedlich realisiert sein kann.
Hier sind Eingaben in eine Balanced Scorecard ebenso möglich, wie das
Modifizieren bestimmter Data Mart – Tabellen, deren Ergebnisse an
diversen Stellen eines Portals erscheinen. In anderen Szenarien werden
automatisch Emails generiert oder ganz konkret Supportanfragen an eine
Servicestelle gerichtet. In einem Produktionsbetrieb können sofort
Bestellungen generiert werden, wenn Engpässe zu erwarten sind usw.
9.3.2 Organisatorisch – technische Anforderungen
Durch die enge Kopplung des Warehouses an die operativen Systeme ergeben sich
neue organisatorisch - technische Anforderungen an die Datenhaltung:
Der klassische Rollenwechsel z. B. zwischen Nacht- und Tagbetrieb mit den zur
Verfügung stehenden Zeitfenstern zum Laden fällt weg. Damit entfällt auch die
Kontrolle des Batchbetriebs durch das Operating oder die mögliche nachgelagerte
Korrektur von Batchläufen. Auch Monitoring und Fehlerkorrekturen sind jetzt
ständige Aufgaben. Es ist für zwei Notfallsituationen Vorsorge zu treffen:
 Datenfehler im laufenden Betrieb sind so zu beheben, dass sich den
Realtime – Betrieb des Warehouses nicht behindern. Korrekturen sind „On
The Fly“ zu erledigen und die bereinigten Daten wieder in den Kreislauf
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur

109/166
einzuspielen. Die Aktualität bzw. Richtigkeit der Realtime – Informationen
darf unter den fehlerhaften und in Korrektur befindlichen Daten nicht leiden.
Ein Totalausfall des Systems hat plötzlich direkten Einfluss auf den
operativen Betrieb weil Steuerdaten fehlen. Anders als in den klassischen
Warehouse – Verfahren, sind jetzt auch im operativen Betrieb Vorkehrungen
für einen Warehouse – Ausfall zu treffen, z. B. kann man mit Default
Regeldaten arbeiten, die sich aus den Durchschnittswerten der letzten Tage
ergeben. Solche Durchschnittswerte sind natürlich vor einem Ausfall zu
ermitteln.
9.3.3 Hochverfügbarkeit von Near Realtime - Systemen
Werden Warehouse – Systeme operativ in Richtung Near – Realtime genutzt, so
steigt auch deren notwendige Verfügbarkeit aus der Sicht der Anwender. Sie muss
zumindest so hoch sein, wie die der operativen Anwendungen mit denen das
Warehouse kommuniziert. Das kann bis in den Bereich von 7/24 Stunden reichen.
Dies gilt vor allem, wenn Unternehmen international tätig sind und
Zeitverschiebungen in den Arbeitszeiten vorkommen. Ist ein Warehouse dann auch
noch vernetzt und es arbeiten Warehouse - Komponenten in unterschiedlichen
Zeitzonen, gilt dies erst recht.
Die Plattensysteme sind durch die RAID – Verfahren mittlerweile sehr gut gegen
Ausfälle abgesichert. Mit dem Release 9 hat Oracle das Real Application Cluster
(RAC) – Verfahren eingeführt. Hier teilt man die notwendige Gesamtrechnerleistung
auf mindesten zwei Rechnerknoten. Bei einem Ausfall eines Knotens übernimmt
kurzzeitig der zweite Knoten die Gesamtlast. Das System läuft zwar langsamer, aber
fällt nicht aus.
Lastübernahme von ausgefallenem Rechnerknoten durch verbleibende Knoten in
einem RAC – Clusterverbund
Realtime bzw. Near – Realtime Data Warehouse Systeme erhalten gegenwärtig bei
einem Neudesign fast immer eine RAC Hardware – Architektur. Einer der Gründe ist
die erhöhte Ausfallsicherheit.
Eine gute Verfügbarkeit wird auch durch ein entsprechendes Backup und Recovery
–
Verfahren
mitbestimmt.
Hier
sind
es
die
Sicherungsund
Wiederherstellungszeiten, die von Verfahren zu Verfahren verschieden sein können
(siehe separates Kapitel hierzu).
9.3.4 Event gesteuertes Warehouse
Ein mit operativen Systemen vernetztes Warehouse - System lässt sich nicht mehr
über Batch - Mechanismen bzw. über vorbestimmte „geschedulte“ Jobabläufe
steuern. Hier übernehmen Events die Kontrolle. Es sind Events wie:
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur









110/166
Ändern von Systemzustände,
Änderung von Ressourcenverfügbarkeit
Auftreten von Fehlern
Eintreffen von Daten per FTP
Eintreffen von Daten als Email
Eintreffen XML Message
Eintreffen Queue - Message
Veränderung von Tabelleninhalten
Feuern von Triggern
Hier helfen nicht mehr prozedural ablaufende Ladeprozesse, sondern ein flexibles
Netzwerk von gekapselten Prozeduren, die bei Bedarf durch das Auftreten der
Events selbständig starten.
Meist sind es pollende Routinen, die in Zeitintervallen eine definierte Aktion
durchführen (z. B. Prüfe Datei vorhanden -> Starte Aktion).
9.3.4.1 Simulation von Event – gesteuerten Arbeitsphasen
Werden wesentliche Teile des Warehouses über Events gestartet, können zwei
problematische Situationen auftreten:
 Es können Ressourcenengpässe entstehen, weil zu viele Schritte parallel
laufen,
o Maschinenengpässe
o Lock – Situationen
 Datenbank
 Source – Files
 Es entstehen Ladefehler, weil eine notwendige Reihenfolge nicht
eingehalten wurde.
Diese Abläufe sind zu simulieren. Die Wahrscheinlichkeit solcher Vorfälle muss
geprüft werden. Hier helfen graphische Workflow – Werkzeuge, deren Monitoring
ebenfalls graphisch abrufbar ist. Hier sind ungeplante Wartezustände leicht
erkennbar.
9.3.4.2 Testdaten
Testdatengeneratoren liefern Zufallswerte, die auch Grenzwertebereiche mit
abdecken. Probleme entstehen oft in solchen Grenzbereichen, wenn Vorsysteme
Daten oder Konstellationen von Daten liefern, mit denen Entwickler nicht rechnen.
Testdatengeneratoren geben die Möglichkeit Datenbereiche festzulegen. Es wird
automatisch eine größere Bandbreite an Datenwerten erreicht.
9.3.5 Durch einheitliche Metadaten die Kontrolle bewahren
Verteilte Warehouse - Systeme sind einheitlich zu verwaltet und über
Systemgrenzen hinweg sind Datenflüsse zu dokumentieren: Impact- bzw.
Herkunftsanalyse berichten über Abhängigkeiten. Hier zahlen sich Tool - neutrale
Repositories aus. Denn hier können auch Systeme dokumentiert werden, die nicht in
klassischen ETL – Prozessen vorkommen.
9.3.6 Datenschutz und nicht Zugriffsschutz
Ein solch flexibles und sich fast selbst steuerndes System, braucht besonders
effektive Sicherheitsmassnahmen. Die Daten müssen in ihrem Kern geschützt
werden. Es reicht nicht, wenn Front End - Werkzeuge ihr Security - System
mitbringen. Die Daten sind in der Datenbank auf Satzebene zu schützen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
111/166
Die Daten müssen direkt an der Speicherstelle geschützt sein,
nicht in den Frontends
9.3.7 Messagebasiertes Laden versus Batchbetrieb in der
Datenbank
Um die Zeitnähe von wenigen Minuten zu erreichen sollten operative Daten, bereits
unmittelbar nach ihrem Entstehen in das Warehouse gelangen.
1. Ist eine Transaktion im operativen System abgeschlossen, triggert das
operative Systeme die geänderten oder neu erstellten Daten in Richtung
Data
Warehouse.
Nachteilig ist hierbei, dass das operative System „angefasst“ werden muss.
Es müssen zum einen z. T. Programmänderungen gemacht werden. Zum
anderen kann das Triggern der Daten in Richtung Warehouse zu
Performanceverlusten führen. Die einfachsten Verfahren hierzu gibt es in
einer geschlossenen Oracle – Datenbankwelt, in der z. B. die Log – Dateien
des operativen Systems ausgelesen werden können. Da dies eigene
Datenbankprozesse sind, leidet die Performance der operativen Prozesse
weniger.
Eine bequeme Variante stellt die sogenannte „Stand By – Datenbank“ dar.
Das Datenbanksystem pflegt über seinen Logbereich ständig eine zweite
Schattendatenbank mit. Diese Schattendatenbank kann nach belieben
ausgewertet und gelesen werden ohne dass die operative
Originaldatenbank Performanceverluste erleidet.
2. Zum Entgegennehmen der Nachrichten aus dem operativen System braucht
man passende Konnektoren, das sind meist spezielle Programme, die man
selbst kaum programmieren kann.
3. Innerhalb der Warehouse – Datenbank können die eintreffenden
Nachrichten nicht sofort weiterverarbeitet werden. Denn das würde zu
einem ständigen Lade- und Transformationsfluss im Warehouse führen.
Stattdessen sollte man einen klassischen Batch – basierten
Lademechanismus erstellen, der in sehr kurzen Zeitabständen wiederholt
laufen kann. Die entgegengenommenen Messages werden in einer sog.
Message – Queue gepuffert.
4. Alle nach einer kurzen Zeitspanne eingetroffenen Messages liest man dann
aus der Message – Queue wieder aus und schickt sie auf die „Batch –
Reise“ zur weiteren Aufbereitung durch das Warehouse. Zum Steuern
dieses Vorgangs kann man Datenbank – intern eine „pollende“ Prozedur mit
DBMS_JOB nutzen.
Der Queue – Mechanismus in der Datenbank steuert den Enqueue / Dequeue –
Vorgang, so dass eine gesicherte Datenübergabe stattfinden kann.
Der gesamte Ladevorgang einer Ladeperiode sollte abgeschlossen sein, wenn der
nächste beginnt. Diese Zeiten können variieren. Die Polling – Frequenz sollte
flexibel eingestellt werden können.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
112/166
Pollendes Near - Realtime Szenario mit Loop Back Aktion
9.3.8 Entkopplung von ETL und Berichtserstellung
Während das Laden und Transformieren der Daten im Realtime – Warehouse
ständig (pollend) stattfindet, muss das nicht zwangsläufig auch für die
Berichtserstellung der Fall sein. Es gibt sicher Berichte, die nicht ständig aktuell sein
müssen. Durch das Realtime – Verfahren können z. B. ODS – Tabellen zeitnah
aktuell gehalten werden, dies muss nicht zwangsläufig für Berichte für das
Controlling gelten. Das Realtime – Verfahren hat aber Auswirkungen auf die
Berichtserstellung wenn parallel Daten aktualisiert werden. Es können fachlich
falsche Daten in die Berichte laufen. Hier sind Datenbereiche zu sperren.
Der Aktualisierungsmechanismus der Materialized Views kann hier helfen. In
klassischen Batch – Lösungen wird die automatische Aktualisierung der Materialized
Views nicht genutzt, weil sie Performance kostet. Kommen aber immer wieder kleine
Datenmengen, so sind die Performanceverluste nicht so gravierend. Materialized
Views als Grundlage von Berichten aktualisieren sich dann selbst im Minutenzyklus.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
113/166
Ausnutzen der Materialized Views mit dem Auslesen der View Logs zum ständigen
Aktualisieren der Berichte
9.3.9 Vergleichbarkeit der Berichte (Aktualität)
Aufgrund der ständigen Aktualisierung der Warehouse - Daten kann es vor allem bei
Ad Hoc – Abfragen zu nicht übereinstimmenden Berichten kommen, wenn
Anwender zu unterschiedlichen Zeiten Berichte abfragen.
Dieses Problem tritt in klassischen Warehouse - Systemen auch schon auf, wenn
der Anwender z. B. bei einem täglichen Updatezyklus Berichte an zwei
unterschiedlichen Tagen erstellt. Hier hilft ein organisatorisches Rahmenkonzept, in
dem Zeitpunkte für die Berichtserstellung definiert sind. Für automatisierte StandardBerichte ist das Problem damit bereits gelöst. Bei Ad hoc - Abfragen kann eine
Aktualisierungsfrequenz der Materialized Views festgesetzt werden, z .B.
Aktualisierung immer nach 1 / 3 / 6 Std. usw.. Zur leichteren Verwaltung kann man
ein Aktualisierungsschema angelegen:
Priogruppe
Dringlich keit
der
Aktualität
0
Aktualisierungszeitpunkt
Zweck
On Demand (nur
auf Anforderung)
Summentabellen sollen über einen
längeren Zeitraum erhalten bleiben.
Berichtsergebnisse lassen sich über
einen definierten Zeitraum hinweg
vergleichen.
Diese
Aktualität
entspricht
den
herkömmlichen Batchladeläufen mit
täglicher Aktualisierung.
Wenig ändernde Transaktionen. Eine
Aktualität von max. 2 Std. reicht aus.
1
niedrig
Täglich (6
morgens)
2
mittel
3
hoch
4
maximal
Zu jeder geraden
Stunde ( 8, 10, 12,
14, 16, 18 Uhr)
Stündlich (8, 9, 10,
11, 12, 13... Uhr)
On
Commit
(ständig)
Copyright © 2005 by Oracle Corporation. All rights reserved
Uhr
Eine Aktualität von max. 1Std. reicht
aus.
Realtime-Aktualität. Notwendig, wenn
Berichtsergebnisse just-in-Time zur
Unterstützung
des
operativen
Geschäfts notwendig sind.
Data Warehouse Referenzarchitektur
114/166
9.3.10 Zusammenfassende allgemeine Empfehlungen
Hier noch einmal zusammenfassend Empfehlungen für das Verfahren:
 Der Lade - Prozess ( Extraction Transition Load) ist anders als bei
klassischen Systemen kein Batch - Laden mehr, sondern ein „ständiges
Holen“ von Daten. In der Art von Real – Time - Systemen wird das
Warehouse nach jeder Änderung im operativen System mit angepasst.
 Die Datenübertragung selbst muss transaktionssicher sein. Nichts darf
verloren gehen.
 Die operativ genutzten Systeme dürfen durch dieses „Abziehen“ der Daten
nicht behindert werden (Asynchrone Kopplungen, „OLTP ABS“). Dies gilt
sowohl für Performance-Einbussen also auch für Lock-Situationen.
 Der ETL - Prozess muss extrem einfach gestaltet sein. Komplexität führt nur
zu Abbruchrisiken und bringt das automatisierte Verfahren durcheinander.
Das Prinzip der Durchgängigkeit der Automatisierung ist zu realisieren
mit Hilfe möglichst vieler Standardfunktionen, wenig komplexer
Transformationen und ohne unnötige Zwischenspeicher wie hart-codierter
Summentabellen.
 Auswertungsergebnisse (Ad Hoc - Berichte) müssen auch wieder in „Real –
Time“ zur Verfügung stehen. Unmittelbar nach einer Änderung, sind die
Berichte zu aktualisieren. Eine Aktualität im Minutenbereich ist gefordert,
auch wenn Gigabyte große Datenmengen zur Berichtserstellung nötig sind
(Real – Time - Ad Hoc - Berichte).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
115/166
10 Wo wird historisiert
Nachdem die Konzepte des Schichtenmodells und der unterschiedlichen
Verwendungsarten von Warehouse - Daten dargestellt sind, bleibt die Frage nach
der Historisierung von Daten offen.
Operative Bewegungsdaten erhalten ihren Kontext durch die Stammdaten im
Unternehmen. Da die Entwicklung der Bewegungsdaten (Unternehmenskennzahlen)
über einen längeren Zeitraum beobachtet werden soll, kann eine Veränderung der
Stammdaten nicht ausgeschlossen bleiben.
Es treten neue Geschäftsfelder auf, neue Produktgruppen ergänzen den
Warenstamm,
andere
verschwinden,
Kunden
treten
in
geänderten
Geschäftsbeziehungen zu dem Unternehmen usw. . D. h. die Rahmenbedingungen
der Unternehmenskennzahlen ändern sich und das ist zu berücksichtigen, will man
Falschaussagen in den Analysen vermeiden.
Die Historisierungsverfahren beschränken sich meist auf die Stammdaten. Die
Bewegungsdaten werden lediglich periodisch geladen. Dann müssen sie allerdings
zu den gültigen Stammdatensätzen passen (Produkte können nur verkauft werden,
wenn sie in den Stammdaten richtig erfasst sind usw.).
Da die Stammdaten - Informationen im Data Warehouse mindestens an zwei Stellen
redundant vorkommen (Warehouse – Schicht und Data Marts), erfordert es eine
explizite Entscheidung ob in der Warehouse – oder in der Data Mart – Schicht
historisiert werden soll.
Im ersten Fall steht der gesamte historisch Kontext in der Warehouse Schicht. Hier
wird man nur einen zeitlich begrenzten Ausschnitt in die Data Marts geben.
Allerdings müssen Anwender bei Abfragen, die über den gegebenen Zeitrahmen
des Data Marts hinaus gehen, auf die zusätzlichen Daten der Warehouse Schicht
zugreifen. In vielen Fällen ist das akzeptabel, wenn z. B. Jahresabfragen wesentlich
seltener vorkommen als Abfragen in der aktuellen Berichtsperiode.
Historisierung in der Warehouse Schicht führt zu vielen Tabellen und einer
komplexeren Verwaltung
Die Alternative arbeitet genau umgekehrt. Sie historisiert in den Data Marts. Die
Warehouse – Schicht beinhaltet nur noch Daten der aktuellen Berichts- bzw.
Aktualisierungsperiode. Das bedeutet jedoch einen Mehraufwand bei den
Auswertungen, auch bei Auswertungen, die nicht ältere Zeiträume abfragen. In allen
Abfragen müssen Zeitkriterien enthalten sein, da sonst die Ergebnisse verfälscht
werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
116/166
In diesem Fall sollten Dimensionen unbedingt über Data Mart – Grenzen hinweg
nutzbar sein, wie dies in dem Konzept weiter oben vorgestellt wurde, um Aufwand
zu vermeiden.
Historisierung in der Data Mart Schicht vereinfacht das Gesamtverfahren, mach aber
das Lesen für Benutzer schwerer
10.1.1 Historisierungsverfahren
Zunächst sollten verschiedene Varianten der Historisierungsverfahren vorgestellt
werden:
Historisierungsverfahren
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
117/166
1. Die erste Variante ist die einfachste. Hier werden Dimensionsdaten komplett
erneuert. Historieninformationen gehen dabei verloren.
2. Bei der zweiten Variante wird ein zusätzlicher Satz mit einem neuen Primary
Key eingefügt. Es kann eine Verfälschung bei der Anzahl der
Dimensionssätze kommen. Ein Kunde existiert plötzlich zweimal nur weil er
umgezogen ist. Ursprungssätze und neue Sätze können nicht als
zusammengehörig identifiziert werden.
3. In der dritten Variante führt man ein zweites Feld für die neue bzw.
geänderte Information ein und hat die Möglichkeit zumindest den vorletzten
gültigen Stand vorzuhalten.
4. Bei der vierten Variante wird bei jeder Änderung ein neuer Satz eingefügt
und ein Aktualitätsflag gesetzt. Der Primary Key bleibt erhalten. Zur
Unterscheidung der Sätze mit gleichen Primary Keys fügt man eine
Versionsnummer ein, die natürlich mit zum Primary Key gehört. Bei
Abfragen auf den aktuellen Datenbestand muss jetzt das Aktualitätsflag mit
in die Abfrage aufgenommen werden. Außerdem wird der erweiterte Primary
Key in die Faktentabelle wandern. Der Primary Key ist unnötig komplex.
5. Die fünfte Variante vereint Nr. 2 und Nr. 4. Man erstellt auch für jeden
zusätzlichen Änderungssatz einen neuen Primary Key. Um alle
Änderungssätze als zusammengehörig zu kennzeichnen, führt man z.B.
eine Kundenummer ein ( diese kann aus dem operativen System
übernommen werden). Ein Aktualitätsflag zeigt auf den letzten gültigen Satz.
Es kann ein Änderungsdatum mitgepflegt werden, um die Reihenfolge der
Änderungen zu dokumentieren
10.1.2 Historisierung in der Warehouse - Schicht
Die Historisierung der Stammdaten in der Warehouse – Schicht kommt seltener vor,
weil sie nicht immer sinnvoll und praktikabel ist.
Folgende Gründe sprechen für die Historisierung in der Warehouse – Schicht:
 Durch die Historisierung entstehen so große Datenmengen, dass diese nicht
in den Data Marts, also sehr nahe an dem performancekritischen
Benutzerzugriff, vorgehalten werden können.
 Durch die Historisierung ist die Komplexität gewachsen. Man will den
Benutzern nicht zumuten, ständig Zeit- und Versionsschlüssel in den
Abfragen mit zu geben. Die Data Marts bleiben handlich und überschaubar.
 Zeitreihenanalysen, also Abfragen über längere Zeiträume, werden von
Endbenutzern nicht durchgeführt, sondern finden nur automatisiert im
Batchverfahren
statt.
Hierzu
passt
die
Beobachtung,
dass
Zeitreihenanalysen zwar vorkommen, aber wesentlich seltener als Abfragen
aus den jüngsten Zeitperioden. Am häufigsten werden Daten aus den
jüngsten Zeitperioden gemacht.
 Die Data Marts bestehen immer nur eine kurze Zeit und werden für
bestimmte Benutzergruppen und Zeiträume gezielt zugeschnitten bzw. neu
erstellt. Historische Daten würden bei diesem Verfahren verloren gehen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
118/166
Vorkommen von Berichten mit unterschiedlichen Zeitspannen
Folgende Gründe sprechen gegen die Historisierung in der Warehouse – Schicht:
 Die
in der Warehouse – Schicht übliche 3 NF behindert das
Historisierungsverfahren und macht es komplex, weil viele Tabellen zu
historisieren sind.
 Benutzer müssen in zwei unterschiedlichen Modellen lesen, wenn sie eine
historisierte Abfrage durchführen: aktuelle verdichtetet Daten aus dem Data Mart
und die Historiendaten in separaten Tabellen der Warehouse – Schicht.
 Die Warehouse – Schicht stellt üblicherweise eine Art Vorratsspeicher für neue
Informationsbedürfnisse dar. Es ist daher durchaus üblich, dass hier Daten
enthalten sind, die noch niemand braucht. Sollen alle diese Informationen
historisiert werden. Das wäre zu aufwendig.
10.1.3 Abschließendes Konzept zur Historisierung
Die Vorteile für eine Historisierung in der Data Mart Schicht überwiegen in der
Regel. Man realisiert die Historisierung dort, wo der Benutzer auch abfragt. Das
Mehr an Aufwand, wird durch die größere Informationsvielfalt ausgeglichen.
Performanceverluste durch die hohen Datenmengen, können durch die Oracle Datenbanktechniken vermieden werden, z. B. durch das Partitioning. Durch das
„Partition Exchange and Load – Verfahren“ wird das Nachladen einer neuen
Zeitperiode elegant unterstützt. Hier helfen auch die automatisierten Slowly
Changing Dimension – Verfahren, die neuerdings von Oracle Warehouse Builder
standardmäßig zur Verfügung gestellt werden.
Wird in der Data Mart Schicht historisiert, können in der Warehouse – Schicht die
Datenmengen gering gehalten werden. Damit entfallen auch wichtige Gründe für
eine ODS – Schicht, die man sich so sparen kann.
Es gelten folgende Empfehlungen:
 Historisierung der Dimensionen in den Starschemen der Data Mart –
Schicht.
 Historisierung durch Einführung von zusätzlichen Versionssätzen unter
Beibehaltung der alten Information.
 Für historisierte Dimensionen sollten künstliche Schlüssel verwendet
werden.
 Wird in der Data Mart Schicht historisiert, entfällt die ODS – Schicht. Deren
Aufgabe übernimmt die Warehouse – Schicht.
 Die Historisierung wird durch Partitionieren von Fakten- und
Dimensionstabellen unterstützt.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
119/166
11 Minimieren von Hardware – Aufwenden
Grundsätzlich hat die Warehouse – Architektur und die Art der Warehouse –
Verwendung, unabhängig von den bereitgestellten Funktionen, Auswirkungen auf
die Hardware – Kosten. D. h. bei gleicher Leistung können Systeme unterschiedlich
viel Hardware – Ressourcen verbrauchen.
Hardware Ressourcen können in folgenden Bereichen reduziert bzw. gering
gehalten werden:
1. Die Integration von vielen Funktionsbereichen an zentraler Stelle, z. B.
schafft das Verlagern der Data Marts auf die Warehouse Server Maschinen
und
letztlich
in
die
Data
Warehouse
–
Datenbank
Wiederverwendungseffekte.
2. Das Nutzen der Datenbank als Lade - Programm (ETL – Engine) führt zu
Wiederverwendungseffekten der Datenbank – Hardware. Diese kann besser
ausgenutzt werden.
3. Ladeaktivitäten sollten neben der Datenbank keine zusätzlichen Hardware
Server benötigen. Datenbank – und Lade – Server sind identisch.
4. Durch die Verlagerung der Berichtserstellung in die Datenbank hinein und
das Vorbereiten der Berichte durch Materialized Views können Hardware Kosten im Bereich der Middle Tier (Application Server) gespart werden. Das
Aktualisieren der Materialized Views sollte zu Zeiten erfolgen, in denen
kaum Online – Benutzer an der Datenbank angeschlossen sind, und in
denen keine Ladeaktivitäten stattfinden.
5. Zusätzliche Datenhaltungen für besondere Auswertezwecke verursachen
auch zusätzliche Hardware – Kosten. Daher sollten diese vermieden
werden.
6. Gemeinsame Hardware - Nutzung durch operative und dispositive Systeme.
7. Minimierung von Transportaufwenden durch die stärkere Integration der
Warehouse – Architektur.
11.1 RAC sinnvolle Voraussetzung für neue
Architekturen im Data Warehouse
Die Oracle – Datenbank bietet eine Schlüsseltechnologie, mit der die Kosteneffekte
für die oben genannten Konzepte besonders leicht zu erreichen sind: Real
Application Cluster (RAC).
Die Real Application Cluster (RAC) – Technologie erlaubt das Verteilen von
Datenbanken über Rechnergrenzen hinweg. Zwei oder mehrere Rechner teilen sich
einen zugeteilten Plattenplatz und die darauf gespeicherten Daten. Die
Kommunikation über genutzte und ungenutzte Daten findet über das sogenannte
Cache Fusion, also dem gegenseitigen Bereitstellen entsprechender Cache –
Bereiche, statt.
Diese technische Möglichkeit bietet zwei Vorteile:
1. Es können sehr groß ausgelegte Rechner durch kleinere Rechner ersetzt
werden. Die Kosten für die kleinen Systeme sind in der Summe meist
günstiger als große Systeme, auch wenn es mehr Rechner sind.
2. Der erhöhte Hardware – Aufwand der durch die Integration und die
Verlagerung von Daten- und Funktionsbereichen an zentraler Stelle
entsteht, wird kostengünstiger und durch die leichtere Skalierung effizienter
realisiert.
Es ergänzen sich die zentralisiert angelegte Warehouse – Philosophie mit den
neuen Möglichkeiten der Hardware – Konfiguration.
11.2 Kostenvorteile durch Verbund kleinerer Systeme
Große Systeme sind oft durch die vorgehaltenen Ausbaureserven teuer. Die Option
die Leistungsfähigkeit durch zusätzliche CPUs zu erhöhen, muss man meist teuer
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
120/166
bezahlen. Kleine Systeme sind in der Regel für wenige CPUs fertig ausgelegt und
daher billiger. Bei Skalierungsanforderungen ist es daher günstiger einen
zusätzlichen kleinen Rechner in den RAC – Verbund zu integrieren als nachträglich
zusätzliche CPUs in das große System einzubauen.
Teuere Ausbaureserven bei großen Rechnersystemen
11.3 Integration von Daten und Funktionsbereichen
Neben der Datenintegration auch kostenschonende Hardware – Integration durch
RAC Technologie
Durch das Real Application Cluster Verfahren kann dezentrale, separate Hardware
eingespart und durch den zentralen Cluster - Verbund ersetzt werden. Augenfällig
werden die Kostenvorteile durch die gleichzeitige Nutzung aller Hardware
Ressourcen durch alle Komponenten des Data Warehouses. Spitzenlasten und
Leerlaufzeiten in einzelnen Bereichen können leichter verteilt und gegenseitig
ausgeglichen werden. Es gibt keine dedizierten Rechner mehr für spezielle Data
Marts oder zentrale Warehouse – Datenbanken. Auch Wartung und Betrieb ist
einheitlich und auch nur einmalig zu machen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
121/166
Das Konzept setzt voraus: dass alle Schichten des Warehouses (Stage / DWH /
Data Mart usw.) sich in einer einzigen Datenbank befinden und damit die
verwendetet Technologie die gleiche ist. Es müssen durchgängig Oracle
Datenbanken verwendet werden.
Zentralisierte Bereitstellung von geclusterter Hardware für alle Daten- und
Funktionsbereiche im Data Warehouse. Real Application Cluster Verbund.
11.4 Integration von Datenhaltungs- und
Datenbewegungsaufgaben (Funktionale
Integration)
Vollkommen unverständlich ist der Umstand, dass zum Laden von Daten in die
Warehouse – Datenbank mehr Rechenleistung bereitgestellt werden soll, als für
die Datenbank selbst. Eine von zwei Hardware – Einheiten ruht immer, entweder
die Datenbank, während der ETL – Server arbeitet, oder umgekehrt der ETL –
Server, wenn die Datenbank arbeitet. Das reine Laden in die Datenbank geht in
der Regel sehr schnell. Hier werden die Bulk – Load – Mechanismen der
Datenbank verwendet. Das ist der einzige Zeitpunkt in dem beide Einheiten
arbeiten. Die landläufige aber mittlerweile irrende Vorstellung, ein vollständiges
Warehouse müsse über ein eigenständiges ETL – Tool verfügen, setzt sich in
dem Hardware – Bereich fort und verursacht neben den Anschaffungskosten für
das ETL - Tool auch noch immense Hardwarekosten und weitere
Wartungskosten.
Verlagert man den ETL – Prozess vollständig in die Datenbank, so wird auch
innerhalb der Datenbank Leistung gebraucht. Der ETL – Prozess kann sich die
Rechenleistung der Maschinen z. B. mit dem Reporting teilen. Wird dennoch
zusätzlich Rechenleistung benötigt, so kann man mit Hilfe der RAC / GRID –
Technologie der Oracle Datenbank zusätzliche Rechenleistung effizienter
bereitstellen und verteilen. Die gesamte Rechnerkapazität wird über den
gesamten Laufzeitraum einheitlicher ausgenutzt.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
122/166
Aufwendige klassische Variante mit separatem ETL – Server und Standalone
Engine – Programm. Die Datenbank wird von außen bearbeitet.
Heute möglich: Wegfall separater ETL – Server und ETL – Integration in der
Datenbank
11.5 Kostenminimierung durch zentralisiertes
Analysieren
Moderne Warehouse – Umgebungen sind heute webbasiert und besitzen eine 3
teilige Architektur aus Backend - / Frontend – und sog Middle Tier - Komponenten.
Die Middle Tier – Komponenten sorgen für den Datentransport über Inter-/Intranet,
sie „cachen“ einen Teil der Abfrageergebnisse für die Frontends der einzelnen
Benutzer und sie sorgen für das Zustandekommen von Benutzersessions. Auch für
die Middle Tier wird Hardware benötigt. Der Hardwarebedarf für die Middle Tier
hängt auch von der Datenmenge ab, die zu den Endbenutzern geschickt werden
muss. Finden alle Analysevorgänge in den Endbenutzerwerkzeugen statt, so sind
alle zu analysierenden Daten auch dort hin zu transportieren.
Dies ist besonders ärgerlich, weil oft die meisten Benutzerabfragen ähnlich lauten
und auf den selben Datenbestand gehen. Es sind Ranking – Abfragen (Top 10) oder
einfache Listings. Das sind üblicherweise auch diejenigen Abfragen, die die breiten
Benutzerschichten stellen. Durch Cache – Funktionen in der Middle Tier kann nur
ein Teil der Last abgemildert werden. Geschickt wäre es, wenn bei neuen Analysen
schon gar nicht so viele Daten angefordert werden würden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
123/166
Aufwendige Aufbereitung von Analysen in den Front Ends
Die alternative Vorgehensweise identifiziert möglichst viele Standardabfragen und
versucht diese Abfragen bereits im Vorfeld zu beantworten. Hierzu nutzt man in dem
Backend – Bereich, also in der Datenbank SQL – Abfragen in Verbindung mit
Materialized Views. Die meisten Rankingabfragen (Top 10) bzw. Standardlisten
können damit erledigt werden. In der Middle Tier sind dann auch nur noch die
Ergebniszeilen der Abfrage zu übermitteln. Entsprechend weniger Hardware wird
gebraucht.
Sparen von Hardware für die sog. „Middle Tier“ bei Vorbereitung von
Standardabfragen innerhalb der Datenbank
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
124/166
11.6 Einsparen von Hardware für separate
Auswertelösungen
Wenn alle Auswertevarianten innerhalb der Datenbank Platz finden, so besteht kein
separater Bedarf nach separaten Servermaschinen. Auch dieses Konzept wurde
oben bereits besprochen. Oft ist allerdings sehr viel Diskussionsbedarf vorhanden,
weil gerade in Fachabteilungen geglaubt wird, es müsse unbedingt ein besonderes
Werkzeug sein, weil nur dieses Werkzeug eine besondere Art der Analyse bereit
hält. Nicht bedacht, wird der erneute Hardwarebedarf, weil das separate
Auswertewerkzeug noch eine eigene Datenhaltung erfordert. Solche Konstruktionen
sind in der Regel bei multidimensionalen Auswertewerkzeugen und im Bereich des
Data Mining zu finden in.
Besondere Auswertungen müssen heute nicht mehr mit separater Datenhaltung
erkauft werden. In der Oracle Datenbank sind multidimensionale - und datamining –
spezifische Datenhaltungen integrierbar. Das spart wieder Hardware, weil die
Datenbank - Hardware wiederverwendbar ist.
Wegfall von separater Hardware für separate Auswerteprogramme
11.7 Gemeinsame Ressourcennutzung
Ein weiteres Konzept ist die gemeinsame Nutzung von Hardware – Ressourcen
durch operative und dispositive Anwendungen. Dieses Verfahren ermöglicht die
Real Application Cluster Technologie. Hier gelingt es Rechner so mit einander zu
koppeln, als wären sie ein einziger Rechner. Zum einen können je nach Bedarf
Rechner – Ressourcen entweder nur für das dispositive oder das operative System
oder für beide in gleichen Teilen bereitgestellt werden. Die Anforderungen der
Systeme sind nicht immer gleichbleibend hoch. Durch die flexible Kopplung gewinnt
man Freiräume ohne zusätzliche Hardware z. B. für Spitzenzeiten anzuschaffen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
125/166
Ressourcenbereitstellung je nach Bedarf entweder für operative oder dispositive
Anwendungen
Der zweite Vorteil liegt in der besonderen Nähe der in der Datenbank gespeicherten
Daten. Ein Nebeneffekt der RAC – Technologie ist der, dass die Datenbereichen
(Datenbank – Schemen) besonders eng aneinander rücken. Das RAC – Verfahren
bedient eine logische Datenbank, d. h. alle Objekte können schnell zugegriffen
werden. Dabei ist es nicht wichtig, ob es sich um Tabellen von operativen oder
dispositiven Anwendungen handelt. Es ist lediglich ein anderes Datenbankschema.
Das stellt eine erhebliche Erleichterung des Transports von operativen zu
dispositiven Systemen dar. Der sonst übliche Kopierweg von Instanz zu Instanz über
Rechnergrenzen hinweg mit DB Links entfällt. SQL Befehle können Daten direkt
ohne Performance - Verlust von Schema zu Schema lesen und schreiben.
Hier zeigt sich zudem, wie störend sich die Existenz von Engine – basierten ETL –
Tools auswirken kann. Deren Existenz machen solche Konzepte zunichte.
Ein weiteres Konzept bietet sich an: Es müssen nicht immer Daten zwischen
operativen und dispositiven Systemen kopiert werden. Einzelne Tabellen sind jetzt
gleichzeitig von beiden Systeme nutzbar. Das ist gerade bei Stammdaten sinnvoll.
Stammdaten unterliegen oft weniger häufig Änderungen, daher sind gegenseitige
Behinderungen seltener zu erwarten. Setzt man dieses Konzept geschickt ein, so
kann das die Problematik der Deltadatenerkennung mildern.
Eine Datenbank und zwei Rechner in einem Clusterverbund (RAC) bietet mehr
Flexibilität bei der Nutzung operativer und dispositiver Daten. Stammdaten sind
gemeinsam nutzbar.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
126/166
Dies sind sicherlich vorerst noch Konzepte, die sich in der Praxis erst noch erwiesen
müssen. Die gleichzeitige Nutzung von Datenbanken für operative und dispositive
Zwecke führt zu einer stärkeren Abhängigkeit im Wartungsfall. Muss die Datenbank
zu Wartungszwecken heruntergefahren werden, so sind operative und dispositive
Systeme betroffen. Andererseits entstehen immer mehr Techniken, die das
Herunterfahren im Wartungsfall überflüssig machen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
127/166
12 Verfahren für das Backup und Recovery
(B+R) im Data Warehouse
Backup und Recovery (B+R) ist ein Themenkomplex, der meist als letztes bei der
Planung von Warehouse – Systemen bedacht wird (wenn überhaupt). Oftmals
überlässt man das Thema den Hardware – Verantwortlichen in den Rechenzentren,
die mit mehr oder weniger Aufwand noch jede Platte gesichert haben. In einigen
Unternehmen gibt es auch gar kein Konzept hierfür, denn „Warehouse und Backup“
ist für manche schon deswegen keine Frage, weil Warehouse – Systeme zunächst
nicht unternehmenskritisch sind.
Das Erwachen kommt dann meist, wenn der Ernstfall eintritt. Die B+R – Frage für
Warehouse - Systeme ist mit der wachsenden Bedeutung der Systeme und der
zunehmenden Operationalisierung des Warehouses sicher heute wichtiger als
früher.
Das Thema Backup & Recovery sollte man jedoch nicht unabhängig von der
Architektur des Warehouses betrachten. Die klassische Herangehensweise, wonach
alles was nach Daten aussieht „periodisch zu kopieren ist“, reicht nicht. Man sollte
schon betrachten, was wie zu sichern ist.
12.1 Backup und Recovery im Data Warehouse
Warum ist Backup und Recovery in einem Data Warehouse anders zu behandeln,
als in operativen Systemen?
Hierzu gibt es mindestens vier Aspekte:
 Größere Datenmengen: Data Warehouse – Systeme verwalten ungleich
mehr Daten als operative Anwendungen. Und die Datenmengen wachsen.
Systeme mit mehr als 5 Terabytes sind keine Seltenheit mehr. Würden wir
im Warehouse die gleichen Verfahren anwenden, wie in operativen
Systemen, so wären die Kosten kaum noch bezahlbar.
 Hochverfügbarkeit muss nicht immer sein: Anders als in operativen
Systemen, werden in Warehouse – Umgebungen Ausfallzeiten von
mehreren Stunden bis hin zu Tagen eher akzeptiert, auch wenn in jüngster
Zeit Warehouse – Daten zunehmend auch operative Verwendung finden.
Das bedeutet, dass es hier nicht die aufwendigste Spiegelungstechnik sein
muss, und ein Recovery – Bestand auch mal auf Band ausgelagert sein
kann.
 Kontrollierte
Änderungsvorgänge:
Anders
als
in
operativen
Anwendungen finden Änderungsvorgänge in einem Data Warehouse
kontrolliert statt. In operativen Systemen führen mehrere hundert oder
tausend Benutzer Transaktionen gleichzeitig durch. Hier ist die Gefahr von
unkontrollierten Aktionen höher. Man denke auch an Aktionen, bei denen z.
B. falsche Daten in die Datenbank gelangen. In einem Warehouse – System
lassen sich Änderungsvorgänge bezogen auf Zeit und Umfang leicht
abgrenzen. Es sind meist einmalige Batch – Läufe. Schlägt ein
Änderungsvorgang fehl, so kann er „umgedreht“ und wiederholt werden.
Online – Änderungen von Anwendern finden sehr selten statt.
So gesehen, muss auch nicht täglich gesichert werden. Man kann das
Sichern etwa auf einen Wochenlauf oder Monatslauf beschränken. Man
weiß ja in der Regel, was sich seit der letzten Sicherung geändert hat.
 Historische Daten ändern sich nicht mehr: Ein Warehouse – System
enthält historische Daten, die sich meist nur einmal – beim Laden ins
Warehouse - ändern. Danach werden sie nur noch lesend angefasst. Etwas
was sich nicht mehr verändert, muss man auch nicht mehr sichern werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
128/166
12.2 Was wird alles gesichert?
Bei dem Thema Backup denkt jeder automatisch daran die Daten im Data
Warehouse zu sichern. Für die Sicherung wichtiger weiterer Komponenten sollte
man sich jedoch ebenfalls ein Konzept entwerfen. Das sind:
 Die Laderoutinen mit denen die Daten erstellt wurden.
 Die Metadaten zur Definition der Laderoutinen (Design Time Metadaten).
 Die Datenmodelle und Datenbankstrukturdefinitionen.
 Die Laufzeitinformationen (Runtime – Metadaten), d. h. wann und unter welchen
Bedingungen sind die Daten entstanden.
Warum ist dies wichtig: Anders, als bei vielen operativen Anwendungen unterliegen
Warehouse Systeme einem ständigen Änderungs- und Weiterentwicklungsprozess.
Das ist leicht nachvollziehbar. Die Systeme arbeiten in den Schnittstellen der
operativen Anwendungen, sie sind also gleichzeitig von mehreren anderen
Verfahren abhängig. Ändert sich irgendwo im Unternehmen ein Verfahren, dann ist
die Wahrscheinlichkeit hoch, dass sich auch im Data Warehouse etwas ändert.
Werden ältere Datenbestände
wiederhergestellt, so müssen auch die
Rahmenbedingungen wieder hergestellt werden.
Hier zahlt sich aus, dass bei der Oracle Warehouse – Umgebung das Laden von
Daten mit Bordmitteln der Datenbank durchgeführt wird, d. h. die Ladeprogramme
sind innerhalb der Datenbank vorhanden und fallen automatisch ins
Sicherungskonzept.
Auch die Metadaten zu den Ladeprogrammen und die Runtime – Informationen
liegen als Tabelleninhalte in der Datenbank (OWB /CWM – Repository). Auch diese
gehören zu den Objekten, die man sichern sollte.
12.3 Logging / Nologging
Um Daten schnell zu bewegen und zu transformieren sollte man Nologging –
Operationen wählen. D. H. der Logging – Mechanismus wird ausgeschaltet, um die
Aktion zu beschleunigen. Dies ist gerade bei Massendaten immer zu empfehlen. Ist
diese Option gewählt, entfallen auch Fragen nach dem ARCHIV - Log oder
NOARCHIV - Log - Modus.
Der NOARCHIV – LOG MODUS sollte gewählt werden, da ja auch kaum etwas zu
loggen ist und auch die Archivierungsprozesse in der Warehouse – Datenbank nicht
mehr aktiv sein müssen.
12.3.1 Nach dem Laden sichern – Kein Rollback nach Nolog Aktionen
Die mit NOLOG beladenen Tabellen können auch nicht mehr durch eine Rollback –
Aktion oder durch ein Zurückladen von Log – Daten in den Zustand vor dem Laden
versetzt werden. Das „Zurückholen des Ursprungszustands“ gelingt entweder nur
mit DML – Kommandos (DELETES, UPDATES) oder durch das Zurückspielen einer
Sicherung (Recovery). Deswegen sollte man das Warehouse, das durch ETL –
Prozesse verändert wurde, danach sofort wieder sichern.
Backup – Maßnahmen sollten nicht parallel zu ETL Vorgängen laufen. Dies muss
immer zeitlich versetzt geschehen und zwar in der Reihenfolge
1. Massenladen im NOLOGGING – Modus,
2. Backup der veränderten Teile im Data Warehouse.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
129/166
12.3.2 RMAN spart viel Arbeit
Die jüngste Version von RMAN erlaubt ein bequemes Backup und Recovery. Hier
sollen nur noch einmal die Vorteile aufgelistet werden (alle weiteren Informationen
im RMAN – Handbuch):
 Extensives Reporting über alle bestehenden Backups.
 Leichte Integration mit Media Managers.
 Inkrementelle Backups, das heißt es muss nicht immer vollständig gesichert
werden. Bestehende Backups können inkrementell um die angefallenen
Änderungen erweitert werden.
 Block Media Recovery (BMR). Einzelne korrupte Datenblöcke können z. T.
wieder hergestellt werden.
 Downtime Free Backups. Ein Backup ist im laufenden Betrieb möglich, ohne
die Datenbank herunter zu fahren.
 Archive Log Validierung und Verwaltung von Backups.
 Backup und Restore Validierung.
 Corrupt Block Detection.
 Backup und Restore Optimierung.
 Trouble Free Backup and Recovery.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
130/166
12.3.3 Read Only Tablespaces
Ältere Daten, die sich mit Sicherheit nicht mehr ändern, kann man in einem Read
Only Tablespace speichern. Solche Tablespaces müssen nur einmal gesichert
werden. Danach nie wieder. Das ist vor allem dann sinnvoll, wenn man die Daten
eines Warehouses immer nur „fortschreibt“, also etwa Wochen- / Monatsdaten
anfügt.
Read-only Tablespaces müssen nicht gesichert werden
Dieses Verfahren spart vor allem Backup - nicht aber Recovery – Zeit. Im Recovery
– Fall sind alle Daten nach zu laden.
12.3.4 Read Only Tablespaces und Partitioning
In Verbindung mit Partitioning kann man das Verfahren noch verbessern. Hier lädt
man die durch den periodischen Ladelauf neu hinzukommenden Daten durch das
„Partition Exchange and Load“ – Verfahren (PEL) als Partition in das Warehouse.
Eine Partition ist gleichzeitig ein Tablespace, der als Ganzes ein neuer Anhang der
jeweiligen Warehouse - Tabellen bildet. Vorher kopiert man das dem Tablespace
zugeordneter Datafile in den Archivbereich (Platte oder Band).
Nachteilig kann der erhöhte Verwaltungsaufwand sein.
Read only Tablespaces und Partitioning ergänzen sich
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
131/166
12.4 Beispiele für B+R Szenarien mit ETL Mitteln oder
RMAN (NOLOGGING)
12.4.1 Recovery – Strategie mit ETL – Mitteln:
Dieses beschriebene Verfahren nutzt Datenbank – eigene ETL – Mittel:
1. Wöchentliches Backup des Warehouses.
2. Jede Nacht Sichern der Änderungsdaten (ETL – Daten), z. B. durch Sichern
der Stage – Daten, bevor man diese löscht.
Recovery:
1. Zurückladen der wöchentlichen Sicherung.
2. Neudurchführen der täglichen ETL – Schritte
Wiedereinspielen der gesicherten Stage – Daten.
z.
B.
durch
das
Vorteile des Verfahrens:
Weniger Aufwand bei der Erstellung der Backups.
Nachteile:
Manueller Aufwand für Sichern und Wiedereinspielen der ETL – Schritte.
Alle Änderungen müssen bekannt sein.
12.4.2 Recovery – Strategie mit RMAN:
Dieses Verfahren nutzt RMAN zur Verwaltung der Backup – Vorgänge
1. Wöchentliches Backup des Warehouses.
2. Jede Nacht, inkrementelles Backup von allen modifizierten Tablespaces
(nach dem alle nologging Operationen durchgeführt wurden).
Recovery:
1. Zurückladen der wöchentlichen Sicherung.
2. Zum Recovern, Restore des wöchentlichen Backups des Data Warehouses,
dann Rollforward der nächtlichen inkrementellen Backups.
Vorteile des Verfahrens:
Kann vollständig durch RMAN verwaltet werden.
Einfaches und vollständiges Verwalten von neuen Daten.
Nachteile:
Nächtliches Backup aller Änderungsdaten im Anschluss an das ETL –
Fenster.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
132/166
13 Zusammenfassung
Hier noch einmal eine Zusammenfassung der wesentlichen Punkte. Damit wird die
Orientierung der Referenzarchitektur noch einmal als Ganzes deutlich.
Zusammenfassung der Warehouse Architektur





Der wichtigste Leistungsfaktor besteht in der Integration also der
Zentralisierung wesentlicher Warehouse – Funktionen. Diese zieht sich wie
ein roter Faden durch die gesamte Architektur.
o Sie ermöglicht gemeinsame Nutzung von Ressourcen wie
Hardware, Laderoutinen (ETL), Analysekomponenten, und
Datenmodellen.
o Das Informationsmanagement rund um das Data Warehouse wird
unternehmensweit schlanker.
Um viele unterschiedliche Zielgruppen im Unternehmen möglichst effizient
mit Informationen aus einer heterogenen IT – Landschaft zu versorgen, wird
das Warehouse logisch in Funktionsbereiche oder Schichten eingeteilt.
o Stage- oder Prüfschicht mit dem Ziel der Harmonisierung und
Konsolidierung heterogener Quellsysteme.
o Warehouse Schicht als Vorratsspeicher für unternehmensweit
einmalige
Informationen.
Fachübergreifendes,
Integriertes
Datenmodell. Die Warehouse – Schicht hat auch die Aufgabe die
nachfolgende Data Mart Schicht von immer wieder gleichen
Analyse- und Datenaufbereitungsschritten zu entlasten.
o ODS – Schicht (Optional) für schnelle Abfragen die primär der
Unterstützung operativer Prozesse dienen.
o Data Mart – Schicht: Hier sind fachspezifische Fragestellungen für
spezielle Anwendergruppen zusammengefasst.
Die Daten sind in einer sehr granularen Form im Data Warehouse
gespeichert. Dies gilt durchgängig für alle Schichten.
Die Daten in den Schichten sind nicht notwendiger Weise redundant
abgelegt. Daten stehen auch schichtenübergreifend zur Verfügung um
Ressourcen zu sparen.
Die Einteilung in Schichten ist kein Security – Instrument.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur







133/166
Die Einteilung in Schichten ist nur logisch zu verstehen. Ideal liegen alle
Schichten in einer Datenbank und werden von einem zusammenhängenden
Hardware – System (z. B. RAC – System) bedient.
Die Data Mart – Schicht ist nicht mehr in einzelne Data Marts unterteilt,
sondern besteht nur aus einer Ansammlung von Dimensionen und dazu
passenden Faktentabellen. Ziel ist die Wiederverwendung von Strukturen.
Verdichtungen für unterschiedliche Zielgruppen werden mit Materialized
Views erzeugt. Das bedingt, dass die Daten in der Data Mart – Schicht sich
auf einem sehr granularen Level bewegen.
Für hochkomplexe Auswertungen kann neben den relationalen
Starschemen auch eine multidimensionale Datenhaltungen in das Konzept
integriert werden. Der Wechsel zwischen beiden Speichertechniken ist kein
Systemwechsel, sondern wird als entweder / oder – Entscheidung aus dem
ETL – Prozess heraus innerhalb der Datenbank realisiert.
Die Extraktion und Datentransformationen finden ausschließlich mit SQL
bzw. Datenbankmitteln statt.
o Paradigmenwechsel hin zur mengenbasierten Verarbeitung
innerhalb der Datenbank.
o Homogenes
ETL
–
Konzept
und
damit
vielfältige
Wiederverwendungsoptionen
über
den
gesamten
Informationsbeschaffungsprozess hinweg.
o Hohe
Performance
durch
Ausnutzen
ausgereifter
Datenbankfunktionalität und geringerem Datentransportaufkommen.
o Flexibilität bei der Realisierung von Transformationen.
Die technische Integration von MOLAP und Data Mining in der relationalen
Datenbank erlaubt ein freieres Positionieren von ETL – und
Analyseschritten. Z. B. sind besondere Analysen nicht mehr durch die
technischen Restriktionen einer separaten Datenbank an einen bestimmten
Platz im Informationsbeschaffungsprozess gebunden.
Die Integration von Daten und Funktionen an zentraler Stelle wird durch die
neue kostenschonende Cluster – Technologie der Datenbank zusätzlich
unterstützt. Durch diese Integration lohnen sich Hardware – Skalierungen an
zentraler Stelle. Durch das zusammenhängende Architekturkonzept wird
auch verhindert, dass einfach nur planlos Last in Form von unabhängigen
Anwendungen auf die Maschine gepackt wird. Unter der Strich wird weniger
Hardware gebraucht:
o Keine separate ETL – Hardware
o Keine separate Data Mart Hardware
o Gemeinsame Nutzung von Hardware durch operative und
dispositive Anwendungen.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
134/166
14 Anhang
14.1 Elf vermeidbare Fehler und Tipps
für erfolgreiche Data Warehäuser
Projekte brauchen einen Nutznießer
Ohne jemanden, der die Warehouse – Lösung braucht, braucht man nicht zu
starten.
Frage erst:
Welche Informationen werden gebraucht?
Dann kommt
Welche Daten muss man dazu haben?
Beginne die Betrachtung am Ende des Informationsaufbereitungswegs. Die tollste
Transformation nutzt nichts, wenn die falschen Daten transformiert werden.
Unterschätze nicht die Aufwände
Die meisten Aufwände liegen in der Vorbereitung und Aufbereitung von nicht
korrekten Quelldaten. In Warehäusern begegnen sich meist zum ersten Mal Daten
aus unterschiedlichen Anwendungen und aus verschiedenen Abteilungen.
Verstehe die Daten
Das Erstellen des Warehouses ist nicht nur ein technischer Akt. Meist ist
betriebswirtschaftliches Fachanwenderwissen nötig, um Daten und Prozesse zu
verstehen. Der Techniker im Projektteam allein ist verloren.
Es braucht klassische Datenmodellierung
Die Wahl und die „Konfiguration“ der richtigen Entitäten ist wichtig.
Wo ist die beste Stelle für eine Transformation
Den Informationsbeschaffungsweg nicht in Etappen aufteilen, sondern den
gesamten Weg der Informationsaufbereitung im Blick haben.
Erst die Architektur dann die Tools
Die Toolauswahl kommt erst dann, wenn man weiß was man will. Tools ersetzen
keine Architektur.
Bilde kleine Inkremente
Es muss nicht immer die komplette Slowly Shanging oder Update – fähige Lösung
implementiert werden. Einige Dinge können auch auf einen späteren Zeitpunkt
verschoben werden.
Suche den frühen Erfolg
Etappenziele für die ersten Erfolge müssen früh gewählt werden. Lieber einen
frühen Teilerfolg bevor man das Gesamtziel erst gar nicht erreicht.
Einfachheit geht vor Vollständigkeit
Warehouse – Systeme können komplex werden und man kann jede Lösung noch
perfekter machen. Die einfachste Lösung ist zunächst die stabilste und bringt am
ehesten Erfolg, auch wenn es nur eine 80% - Lösung ist.
Generieren statt Programmieren
So einfach das schnelle Tippen eines Programmierers auch aussehen mag, es
endet oft in unvorhersehbarem Aufwand.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
135/166
14.2 Gründe für die Einführung eines Data Warehouses
Im wesentlichen lassen sich 4 Hauptgründe zusammenfassen:
1. Informationen stehen in gesammelter Form zentral zur Verfügung und sind
von allen Unternehmensstellen her leicht zugänglich.
2. Informationen stehen in einer auswertefähigen und verständlichen Form zur
Verfügung. Die Auswertedatenmodelle sind für Benutzerabfragen optimiert.
3. Die Informationen stehen in einem historischen Kontext, sie sind historisiert.
Damit sind Trends erkennbar.
4. Durch die Loslösung von den operativen Systemen, werden diese durch
Analyseabfragen nicht mehr belastet.
14.2.1 Nutzenpotentiale im Data Warehouse
Die Nutzenbetrachtung von Warehouse – Systemen umfasst zwei Bereiche:
1. Leicht messbare Nutzenvorteile. Das sind z. B. Substitutionen von
manueller Tätigkeit oder Bereitstellung von zusätzlichen Zeitressourcen für
Fachmitarbeiter.
2. Nicht leicht messbare Faktoren wie zusätzlicher Informationsgewinn. Hier
kann nicht deutlich vermittelt werden, welchen Nutzen ein Mehr an
Informationen beinhaltet. Letztlich ist es die Vermehrung von
Handlungsoptionen.
Bei entsprechenden Umfragen lassen sich immer wieder die folgenden
Nutzenaspekte feststellen:
(Die hier genannten Daten entstammen einer Oracle - Umfrage aus dem Jahr 2002)
 Vereinheitlichung und Strukturierung der Datenbasis (Durch
Ladeprozesse können Standardisierungen vorgenommen werden, die in
den Quellsystemen aufgrund historischer Begebenheiten und Altlasten nicht
möglich sind, 75%) (weder Quantitativ noch subjektiv messbar, da es mit
dem Warehouse Informationen gibt, die zuvor einfach nicht da waren. Es
kann jetzt lediglich festgestellt werden, was aufgrund neuer Optionen im
Unternehmen machbar ist und welchen Nutzen dieses dem Unternehmen
bringt. Oft kommt von Anwendern die Aussage, dass ohne das Data
Warehouse diese oder jene Informationen nicht da wären. Extreme
Aussagen gehen soweit, dass bestimmte Prozesse oder Funktionsbereiche
im Unternehmen ohne das Warehouse gar nicht machbar wären. Es bleibt
die Frage unbeantwortet, was sein würde, wenn das Warehouse nicht da
wäre).
 Ersetzung von manuellen Tätigkeiten (z. B. händisches Zusammenfügen
von Daten, 64%) (Quantitativ messbar. Bei fast allen Data Warehouse –
Einsätzen können Einsparungen im Bereich manueller Tätigkeiten
festgestellt werden. Dieser Nutzen ist am leichtesten messbar. Z. T. kommt
allerdings die Aussage, dass dieser Nutzen alleine die Aufwendungen für
das System noch nicht rechtfertigt).
 Schnellerer und einfacherer Zugriff auf notwendige Informationen
(durch integrierte Sichten, graphische Aufbereitung, 62%) (nur z. T.
Quantitativ messbar).
 Erkennen historischer Trends durch Langfristigkeit (Analyse über
Zeitreihen, 60%)
 Bessere Deckung des Informationsbedarfs (über das übliche Reporting
hinaus, Erstellung neuer Berichte ist einfach, der Fachanwender kann
seinen individuellen Bedürfnissen besser nachkommen, 52%) (subjektiv
messbar).
 Bessere Daten- und Informationsqualität (dadurch dass das Warehouse
die einzige Quelle ist , 48%) (subjektiv messbar).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur



136/166
Reorganisation und Straffung des bestehenden Berichtsweges
(Selbstbedienungseffekt, Wegfall vordefinierter Berichte, Entlastung IT,
48%) (Quantitativ messbar).
Aufdecken unbekannter Zusammenhänge (automatisiertes Analysieren
lässt ungeahnte Zusammenhänge erkennen, 33%) (subjektiv messbar).
Integration externer Daten (in der einheitlichen Datenstruktur des WH
lassen sich externe Daten leichter integrieren, 25%) (subjektiv messbar).
14.3 Checkliste zur Optimierung der Warehouse
Systeme
14.3.1.1 Platten
Einer der wichtigsten Einflussfaktoren für gute Abfrageperformance sind die
Plattenzugriffe.
Hier gilt:
 Eher viele kleine Platten als wenige große Platten wählen (Auch wenn
größere Platten schneller und im Vergleich billiger sind)
 Verteilung der verschiedenen Tablespaces auf unterschiedliche Platten mit
folgender getrennter Verteilung:
Index
Users
Control File (Control
separat sichern)
Rollback
Segmente
zweites Control File
Tools
System
Control File
Temp
Undo Logs
Undo Logs
Archive Logs
Data
Oracle Software


RAID 0+1
File
und
RAID 0+1
RAID 0+1
RAID 0+1
(wenn
überhaupt
verwendet)
RAID 5 oder 3 (je nach
Verwendung)
-
Raid – Verfahren: Hardware based RAID ist bevorzugt vor Software Based
RAID zu wählen. Host based RAID (intern) ist bevorzugt vor Bridge Based
(extern) RAID zu wählen.
Anzahl Platten pro Controller = I-O Bandbreite des Controllers / I-O
Bandbreite der einzelnen Platten
14.3.1.2 Partitions


Anzahl Partitionen eher hoch wählen
Bei Sub Partitioning auf die Stimmigkeit der Gültigkeitsbereiche der
Schlüssel achten.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
137/166
14.3.1.3 Materialized Views
14.3.1.3.1 Allgemeine Hinweise






ORDER BY Klausel bei der Definition
User Defined Functions mit DETERMINISTIC deklariert
Einsatz von Partitionierten Materialized Views für Refresh –Performance –
Optimierung (Partition Change Tracking PCT ab Oracle 9i)
Grouping Sets in Verbindung mit partitionierten Mview für bessere
Performance
Globalization – Einstellungen
Case Sensitivität von Wörtern wie FROM
14.3.1.3.2 Prüfungen auf Zustände
Prüfen auf die
Einstellparameter
von MVIEWS
Prüfen
auf
Vorhandensein
und Zustand von
Dimensionen
select
mview_name,REWRITE_ENABLED,STALENESS,REWRITE_C
APABILITY
from dba_mviews;
select* from dba_dimensions;
14.3.1.3.3 Systemparameter
Systemparameter die die Rewrite
Fähigkeit von Materialized Views
beeinflussen
query_rewrite_enabled
query_rewrite_integrity
ENFORCED
TRUSTED
STALE_TOLERATED
Nur
wenn
Konsistenz
garantiert ist
STALENESS:
Fresh
Validierte
Constraints
Based
on
prebuild Table
CONSIDER
FRESH
Zusatz
Alle Daten
Dimensional Tables vorhanden
Optimizer_Mode=CHOOSE
Definition von Materialized Views mit
REWRITE ENABLE
STALENESS
REWRITE_CAPABILITY
Umsetzen
Systemparameter
alter materialized View dwh.MV_UMSATZ_LAND_ZEIT
consider fresh
alter system set
query_rewrite_integrity=STALE_TOLERATED
scope=spfile;
alter system set query_rewrite_enabled=TRUE
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
138/166
scope=spfile;
Prüfung: Wird ein
Query Rewrite
stattfinden
1. Schritt: rewrite_table
erzeugen
2. Schritt:
dbms_mview.explain_re
write aufrufen
ORAHOME\rdbms\admin\utlxrw.sql
DECLARE
qrytext VARCHAR2(2000) :=
'select sum(f.umsatz), R.Bundesland, Z.Monat
from
f_umsatz_part f, dim_region R, dim_Zeit Z
where
z.Zeit_ID_YYYYMMDD = f.Zeit_ID_YYYYMMDD
and
r.ORT_ID = f.ORT_ID
group by R.Bundesland,Z.Monat';
BEGIN
dbms_mview.explain_rewrite(qrytext,'DWH.mv_Umsatz_Land_Zeit','1
24');
END;
/
3. Schritt: Ergebnis
abfragen
SELECT message FROM rewrite_table
WHERE statement_id = '124' ORDER BY sequence;
Größe von MVIEWS
berechnen lassen
variable num_rows NUMBER;
variable num_size NUMBER;
exec DBMS_OLAP.ESTIMATE_MVIEW_SIZE( 'simple_store',
'select
'
||
'
sum(f.umsatz),
'
||
'
R.Bundesland,
'
||
'
Z.Monat '
||
'from
'
||
'
f_umsatz_part f,
'||
'
dim_region R,
'
||
'
dim_Zeit Z
'
||
'where
'||
'
z.Zeit_ID_YYYYMMDD = f.Zeit_ID_YYYYMMDD
' ||
'
r.ORT_ID = f.ORT_ID
' ||
'group by R.Bundesland,Z.Monat
' ||
'order by R.Bundesland,Z.Monat
',
:num_rows , :num_size);
and
print num_rows;
print num_size;
14.3.1.3.4 Rewrite Methoden
Methoden / Situation
Selection
Compatibiliy
Check
Join Compatibility Check
Erklärung
Selections in Query und
MV
müssen
übereinstimmen
WHERE / HAVING
Common Joins
Query Delta Join
MV Delta Join
Copyright © 2005 by Oracle Corporation. All rights reserved
EInschränkung
Die Selections
ableitbar sein
müssen
Stärkere Restriktionen
Lossless Informationen
Data Warehouse Referenzarchitektur
Data Sufficiency Check
(Join Back)
Grouping
Compatibility
Check
(Rollup)
Aggregate Computability
Check
Query Rewrite with Inline
Views
Query Rewrite
with
Views
Query Rewrite
with
Selfjoins
139/166
Zur Vervollständigung der
Abfragebedingung (z. B.
auf Felder, die nicht in der
Select-Liste des Views
vorkommen), kann erneut
auf
eine
Basistabelle
zurückgegriffen werden.
Textgleichheit
14.3.2 Hilfsmittel Datenbankoptimierung
Ziel
Anzeige
Parameterfile
Auflisten aller
Constraints in
einem Schema
Erstellen
Plantabelle
Erstellen
Eintrag
Plantabelle
Anzeigen des
letzen
Kommandos
aus
der
Plantabelle
Abfragen DOP
Wie ist die
Session
eingestellt
PX
Message
Pool
SGA - Zustand
Verhältnis
/
Auslastung von
Consumer und
Producer
Aktion
Column name format a30
Column value format a30
Column update_comment format a30
select name, value, update_comment from v$spparameter
select
constraint_name
name,
constraint_type
type,Table_name Tabelle, validated val ,rely from
all_constraints
where owner ='DWH'
 C (check constraint on a table)
 P (primary key)
 U (unique key)
 R (referential integrity)
 V (with check option, on a view)
 O (with read only, on a view)
@$ORACLE_HOME/RDBMS/ADMIN/UTLXPLAN.SQL
explain plan for select count(*) from wh_transaktionen;
@$ORACLE_HOME/RDBMS/ADMIN/utlxplp.sql
oder
select * from table(dbms_xplan.display());
select table_name,degree from
dba_tables
where
table_name like 'F_%';
select
process,pdml_status,PDDL_Status,PQ_Status,
Machine from v$session;
select name, sum(bytes) from V$SGASTAT where
pool = 'large pool' group by rollup (name);
select name, sum(bytes),pool from V$SGASTAT
group by name,pool;
select
dfo_number,tq_id,server_type,
process,num_rows
from v$PQ_TQSTAT
order
by
dfo_number,tq_id,server_type,
Copyright © 2005 by Oracle Corporation. All rights reserved
Ergebnis erst
nachdem
ein
Query
Kommando
Data Warehouse Referenzarchitektur
process;
Anzahl
Prozesse
im
Parallel Mode
Prüfen,
ob
Prozesse
parallel laufen
Feststellen ob
es seit dem
Hochfahren der
Datenbank
bereits
parallele
Operationen
gegeben hat.
Tests auf Erfolg
des Steigerns
von DOP
DBMS_STAT
Parametereinst
ellungen
Prüfen
auf
Vorhandensein
und
Zustand
von
Dimensionen
Langläufer
Feststellen
Platzver-brauch
von Tabellen
(Extents)
Extents
Tabelle
einer
Summe
Extents
aller
Anzahl Blocks
einer Tabelle
140/166
abgesetzt
wurde
select * from V$PQ_TQSTAT;
select * from v$PX_process_sysstat;
select * from v$PX_process;
select name, value from v$sysstat where
upper(name) LIKE '%PARALLEL OPERATIONS%'
or upper(name) LIKE '%PARALLELIZED%'
or upper(name) LIKE '%PX%'
Set timing on
Select /*+ noparallel(f_Umsatz) */ count(*)
from f_Umsatz;
Select /*+ parallel(f_Umsatz,2) */ count(*)
from f_Umsatz;
Select /*+ parallel(f_Umsatz,4) */ count(*)
from f_Umsatz;
Siehe
auch
Parameter
PARALLEL_AUTOMATIC_TUNING=TRUE
exec
dbms_stats.gather_table_stats('DWH','f_umsat
z',estimate_percent=>20);
show parameter star
show parameter parallel
select* from dba_dimensions
Utlbstat
Utlestat
->report.txt
SELECT substr(segment_name,1,30), extents,
tablespace_name, blocks
FROM dba_segments
WHERE owner = 'DWH';
SELECT extent_id, file_id, block_id, blocks
FROM dba_extents
WHERE owner='DWH'
AND segment_name='F_UMSATZ_PART'
SELECT sum(blocks)
FROM dba_extents
WHERE owner='DWH'
AND segment_name='F_UMSATZ_PART'
select
table_name,
Owner,
blocks
from
dba_tables where table_name='F_UMSATZ_PART'
and owner = 'DWH'
/
Copyright © 2005 by Oracle Corporation. All rights reserved
Beispiele
Data Warehouse Referenzarchitektur
Finden
der
größten
Tabellen
Check auf High
Water Mark
Finden
von
doppelten
Indexeinträgen
141/166
select
table_name,
Owner,
blocks
from
dba_tables where owner = 'DWH' order by
blocks
Select
dba_segments.blocks
dba_tables.empty_blocks -1 HWM
From dba_segments, dba_tables
Where dba_segments.owner = 'DWH' and
Dba_segments.segment_name = '&nm' and
dba_segments.owner = dba_tables.owner and
dba_segments.segment_name
=
dba_tables.table_name
SELECT table_name, index_name
FROM dba_indexes a
WHERE owner = UPPER('&owner')
AND uniqueness <> 'UNIQUE'
AND NOT EXISTS
(SELECT
table_name,
column_name,
column_position
FROM dba_ind_columns b
WHERE a.index_name = b.index_name
AND a.owner = b.index_owner
AND a.owner = b.table_owner
AND a.table_name = b.table_name
MINUS
SELECT
table_name,
column_name,
column_position
FROM dba_ind_columns c
WHERE a.index_name <> c.index_name
AND a.owner = c.index_owner
AND a.owner = c.table_owner
AND a.table_name = c.table_name)
ORDER BY 1
Buffer Cache select round(((1-(sum(decode(name,
Hit Rate
'physical reads', value,0))/
(sum(decode(name, 'db block gets', value,0))+
(sum(decode(name,
'consistent
gets',
value,
0))))))*100),2)
|| '%' "Buffer Cache Hit Ratio"
from v$sysstat;
Sollte > 90 %
sein
Dictionary Hit
Rate
zum
Prüfen
der
Shared
Pool
Size
SELECT SUM(gets) "data dictionary gets",
SUM(getmisses) "data dict. cache get misses",
SUM(gets) / (SUM(gets) + SUM(getmisses)) *100 "Dict Hit
Rate"
FROM v$rowcache
Library Hit Rate
SELECT SUM(pins
"Lib_Cache_hit_ratio"
FROM v$librarycache
Sollte
größer
90 % sein
(Wenn
nicht
dann
Shared
Pool
größer
machen)
Sollte
größer
95 % sein
(Wenn
nicht
Shared
Pool
größer
machen)
Wenn mehr als
10 % frei ist,
dann
kleiner
machen
Freier Platz im
Shared Pool
Ungleich-
-
reloads)
/
sum(pins)*100
SELECT * FROM v$sgastat
WHERE name = 'free memory';
select table_name, index_name, blevel,
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
gewichtige
Indexe finden
(skewed)
decode(blevel,0,'OK BLEVEL',1,'OK BLEVEL',
2,'OK
BLEVEL',3,'OK
BLEVEL',4,'OK
BLEVEL','BLEVEL HIGH') OK
from dba_indexes
where owner='AIRSRAQS' order by 1,2
Distinctiveness
(Unterschiedlic
hkeit
von
Werten
Analysieren
Indexstrukur
(Anzahl Sätze – Anzahl diff. Werte) x 100 / Anzahl Sätze =
%
Wert
Liefert
Werte
über gelöschte
und
nicht
wieder gefüllte
Leaves
select DEL_LF_ROWS*100/decode(LF_ROWS, 0, 1,
LF_ROWS) PCT_DELETED,
(LF_ROWS-DISTINCT_KEYS)*100/
decode(LF_ROWS,0,1,LF_ROWS)
DISTINCTIVENESS
from index_stats
where NAME=Upper('&index_name');
Sort-Vorgänge
auf Platte oder
im Speicher
142/166
[Wert < 5%: Überlegungen für Bitmap – Index]
analyze index “index name” validate structure;
SELECT a.sid,a.value,b.name from
V$SESSTAT a, V$STATNAME b
WHERE a.statistic#=b.statistic#
AND b.name LIKE 'sorts %'
ORDER BY 1;
Wenn
PCT_DELETE
D > 20%, dann
Index
neu
machen
Wenn
Sortvorgänge
auf der Platte,
dann
Sort_Area_Size
vergrößern.
Sollte
aber
unter 9i durch
das Setzen von
pga_aggregate
_target
automatisch
geschehen
14.4 Glossar
3 – Schichten Architektur
Ad-hoc-Abfragen
Logische Aufteilung von Aufgabenbereichen innerhalb des Data
Warehouses. Hier vor allem Stage/Data Warehouse/Data Mart.
Ad-hoc-Abfragen oder auch spontan formulierte Abfragen. Sie können
von dem Endanwender mittels Auswertungstool kreiert werden. Meist
sucht sich der Anwender entsprechende Datenstrukturen aus einer
angebotenen Liste von Tabellen aus. Sofern möglich, wird er Daten aus
unterschiedlichen Tabellen miteinander kombinieren. Zusätzliche
Analysetechniken sind -> Drill Down/up -> Slice/Dice -> Pivoting -> Drill
Across –Drill to Detail
Advanced Queueing
(AQ)
Aggregation
Datenbankkomponente zum – asynchronen Koppeln von Anwendungen.
Siehe weiterführende Dokumentation in den Handüchern.
Aggregation ist eine Zusammenfassung von Daten in einer neuen
Tabelle als eine Art Summentabelle. Beispielsweise Summierung oder
Durchschnittsbildung. Aggregationen werden unter anderem zur
Performancesteigerung
der
Abfragen
gebildet.
Aggregationen werden in modernen Warehouse Systemen immer
(Aggregates)
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
143/166
weniger verwendet und z. B. durch Materialized Views (Oracle) ersetzt.
(WA)
Aggregationstabelle
Aktualisierungsperiode
Alertmanagement
Analytical Workspace
(AW)
Architected Data
Marts
Asynchrone Kopplung
Attribut
Auswirkungsanalyse
BAM
Summentabelle -> Materialized View -> Aggregation (WA)
Zeitspanne nach der ein Data Warehouse mit neuen Daten aktualisiert
wird.
Durchführung
von
Plausibilitätsprüfungen
bzgl.
der
Gesamtzusammenhänge der Daten. Im Rahmen des Befüllens bzw.
Betriebs des Warehouses sind i. d. R. Mechanismen zur
Benachrichtigung
entsprechender
Mitarbeiter
implementiert.
Z. B. wird ein Email verschickt, wenn Probleme beim Ladeprozess
aufgetreten sind. (WM).
Speicherkonstruktion für multidimensionale Daten in der Oracle
Datenbank. Der Analytical Workspace ist ein Bereich innerhalb der
Oracle Datenbank, in dem multidimensionale Daten abgelegt sind. Vor
der Integration der multidimensionalen Datenbank Express in die
relationale Datenbank Oracle 9i und 10g war der Analytical Workspace
ein eigener Speicherbereich innerhalb des Dateinverzeichnisses des
jeweiligen Betriebssystems. Nach der Integration ist die Struktur und die
Art der Speicherung geblieben aber der Speicherort ist jetzt eine BLOB –
Spalte in einer relationalen Tabelle. Ergänzt wurde der Analytical
Workspace und ein besonderes API mit dem Zugriffe auch aus dem
relationalen Befehlsvorrat möglich sind.
Regelung der Abhängigkeiten zwischen Data Marts. Gemeint sind
Verfahren mit denen Redundanzen zwischen Data Marts vermieden und
die Inhalte synchronisiert werden.
Im Gegensatz zur -> synchronen Kopplung werden bei der asynchronen
Kopplung Informationen eines Vorsystems mit gewissen zeitlichen
Verzögerungen an das nachgelagerte Data Warehouse geschickt. Diese
Verzögerungen entstehen, wenn Nachrichten in einer sog. Nachrichten
Queue zwischengespeichert und für das zeitlich unabhängige Abholen
der Nachricht durch das nachfolgende System vorgehalten werden. Wie
bei einem Postbriefkasten wird die Queue nicht sofort geleert. Die
Asynchronität kann Vorteile haben, weil die kommunizierenden Systeme
nicht durch die Kommunikation in ihrem zeitlichen Verlauf behindert sind.
Asynchrone Kopplungsverfahren sind z. B. -> Streams.
Kleinste Informationseinheit in einem Datenmodell, die geeignet ist
Merkmale eines -> Entities zu benennen. Andere Begriff sind
Datenelement. (DM)
Metadatenauswertung
bei
der
die
Abhängigkeiten
bzgl.
Ergebnisstabellen bzw. Berichten von Quelltabellen aufgelistet werden.
Treten Änderungen in den Quelltabellen auf , muss festgestellt werden,
welche abhängigen Tabellen von diesen Änderungen betroffen sind.
Diese Analyse erfolgt heute mit graphischen Anzeigewerkzeugen.
Business Activity Monitoring. Operational Exception Reporting.
Beobachtung und Messung von betriebl. Abläufen mit der Möglichkeit der
direkten Korrektur. Messhäufigkeit: Near Realtime bis täglich.
BI
Business Intelligence, Sammelbegriff für Geschäftsanalysen, zunehmend
Synonym für Front-End-Auswerte-Werkzeuge und Anwendungen.
Bitmapped Index
Für jeden Wert einer Column wird ein 1/0 Bitmuster-Strang zugeordnet,
d. h. bei Vorhandensein des Wertes in einem Satz, wird für dieses Satz
ein gesetztes Bit (1) aufgenommen wenn nicht eine 0. So sind alle
Vorkommnisse einer bestimmten Column über alle Sätze hinweg in dem
Index dokumentiert. Da ein Bitmap Index wenig Platz braucht und auch
zudem noch komprimiert gespeichert werden kann, ist ein Bitmap-Index
bei Columns mit überschaubaren Ausprägungen (Verhältnis 1:25 – 4 %)
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
BSC
144/166
günstiger als der klassische Btree-Index.
Balanced Score Card
Kennzahlensystem für die Kern-Geschäftsbereiche z. B. Finanzen,
Kunden, Interne Prozesse und Mitarbeiter: In der BSC werden Ziele mit
ihren dazugehörigen Messgrößen definiert und auf einer übersichtlichen
Anzeigentafel abgebildet (Scorecard)
Business Intelligence
Business Objects
CDC
Change Data Capture
Column level
validation rule
Common Warehouse
Metadata
-> BI
(Geschäftsobjekten) Beschreibbare Gegenstände, die z.B. in einer
Datenbank gespeichert werden können. Geschäftsobjekte sind die
Objekte, mit denen die Geschäftsprozesse operieren. Beispiele: Kunde,
Artikel, Bestellung..
Change Data Capture. Verfahren zum Laden von geänderten
Tabelleninhalten in andere Tabellen.
- > CDC
-> Validation Rule, die sich nur auf eine Column einer Tabelle bezieht. >Constraint-Zusatz auf Columnebene.
-> CWM
Conforming
Dimensions
Dimensionen die als Brückenglied zwischen 2 oder mehreren
Faktentabellen fungieren. Eine Zeitdimension stellt meist eine solche dar,
weil von ihr Foreign Key – Beziehungen in fast alle Starschemen (zu fast
allen Faktentabellen) führen.
Constraint
CPM
-> Validation rule
Corporate Performance Monitoring. Nach Gartner die Zusammenführung
von -> BAM und klassischem -> BI
CRM
Customer Relation Management
CWM
Common Warehouse Metadata. Ein sich mehr und mehr durchsetzender
Metadaten - Standard der OMG. Das Oracle Warehouse Metadaten
Repository (-> OWB) ist nach dem CWM – Standard definiert worden.
Data Mart
Data Mart ist ein fach- oder themenspezifischer Datenbereich in einem
Data Warehouse. Dies bedeutet, die Daten werden auch separat als
Auszug im DWH gespeichert. Data Marts haben den Zweck
Auswertedaten endbenutzergerecht bereit zu halten. In Data Marts
finden sich daher meist besondere Datenmodelle wie -> Star Schema
oder -> Snow Flake Schema
Isolierte Data Marts. In jüngster Zeit entstanden durch Fertigpakete (z.
B: CRM) sog. BI-Add On’s.
Tätigkeitsfeld in Unternehmen. Aufgabe ist die inhaltliche, fachliche
Strukturierung von Themenbereichen mit Hilfe von Daten. Die
Datenadministration bezweckt, die Datenbeschreibungen und -formate
sowie die Verantwortlichkeiten derselben einheitlich zu erfassen und zu
kontrollieren, um eine anwendungsübergreifende Nutzung der
langlebigen Unternehmensdaten zu gewährleisten. Ein Teilgebiet der
Datenadministration ist die Datenmodellierung.
Gerade in mehr technisch orientierten oder kleineren Unternehmen wird
Datenadministration oft mit Datenbankadministration verwechselt.
Konzept den ETL – Prozess in die Datenbank zu verlagern um damit die
Datenbankressource optimal auszunutzen.
Data Mart Silo
Datenadministration
Datenbankbasiertes
Laden
Führt in der Regel zu 3 Hauptvorteilen:
-
Performanter
-
Flexibler
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Dimension
Kostengünstiger
Dimensionen
sind
Bausteine
des
logisch
verstandenen
multidimensionalen Datenmodells. In einem multidimensionalen Modell
stellen Dimensionen die Äste im Starschema oder die Kanten in dem
Würfelmodell dar. Beispiele für Dimensionen sind Transaktionsarten,
Produkte, Region, Kostenstellen, Kostenarten oder Zeit. Dimensionen
entsprechen den Stammdaten aus den operativen Systemen. Über
Einschränkungen (Filter) in den Dimensionstabellen werden die
Kennzahlen der Faktentabellen näher bestimmt (eingeschränkt):
Umsätze nach Regionen, Umsätze nach Zeit. Regionen und Zeit sind
hier die einschränkenden bzw. bestimmenden Kriterien der
Faktentabelle.
Dimensionen können eine Zusammenfassung von
Verdichtungskriterien enthalten die sog. - >Hierarchien.
Dimension table
Definition
Dimensional Table
Dimensionstabelle
Direct-path load API
Dispositive Prozesse
Dispositive Systeme
DML
Drill Across
Drill Down
145/166
mehreren
Dimension Tables sind eigenständige physische Objekte in der
Datenbank. Sie legen die denormalisierte und hierarchisierte Struktur der
Spalten einer Tabelle fest, die die Funktion einer Dimension in einem
Starschema inne hat. Wie echte Tabellen, so können auch Dimensions
mit CREATE in der Datenbank definiert werden. CREATE
DIMENSIONAL TABLE.... . Den eigentlichen Zweck erfüllen die
Dimensions indem sie dem Optimizer der Datenbank Informationen über
mögliche Rewrite - Aktivitäten verschaffen. Logisch repräsentieren sie
Geschäftsobjekte
aus
der
Sicht
der
Fachanwender:
die
Gegenstandsobjekte der Analysefragen (Kunde, Produkte, Artikel,
Zeit...).
-> Dimensionstabelle
Dimensionstabellen sind die physischen Representanten einer ->
Dimension in der Datenbank. Gegensatz zu -> Dimension Table. In der
Datenbank existieren zwei Objekteinträge. Zum einen Die
Dimensionstabelle und zum weiteren das dimensional Table Objekt zur
Steuerung des Optimizers.
Anwendungsprogramme können direkt die Loaderfunktionalität von
Oracle ansprechen. Hierbei werden zusätzliche Datenbankprüfungen
ausgeschaltet. Das Laden ist sehr schnell.
Aktivitäten in einem Data Warehouse, die der Aufbereitung von
Informationen aus Daten der -> operativen Prozesse dienen.
Zusammenfassung aller Softwareanwendungen die einem strategischen,
planerischen Zweck im Rahmen der Unternehmenssteuerung dienen.
Das sind i. d. R. die Warehouse Anwendungen. Gegenteil -> Operative
Systeme.
Data Manipulation Language: Kommandosprache mit der die Daten, die
in der Datenbank gespeichert sind erstellt oder geändert werden können.
Bei relationalen Datenbanken wird SQL genutzt, um die Datenbank zu
modifizieren. . Bei SQL unterscheidet man jedoch zwischen den -> DDL
katalogmodifizierenden Kommandos und den datenmanipulierenden
Kommandos.
Im Verlauf einer Auswertung über Tabellengrenzen hinweg springen. In
der Regel muss eine Referenzspalte (Column) in beiden Tabellen
enthalten sein, über die die Sätze der jeweiligen Spalten zugeordnet
werden können. Werden -> Starschemen verwendet, so ist hier der
Vorgang gemeint, bei dem man im Verlauf einer Auswertung von einem
Starschema in ein anderes (von eine -> Faktentabelle zu einer anderen)
springt.
Drill Down = „herunterverzweigen“. Der Anwender hat in
Auswertewerkezugen die Möglichkeit Daten tiefer zu detaillieren.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
146/166
Beispiel: Er detailliert seine Auswertung z. B. von Artikelgruppe auf
Artikel.
Drill To Detail
Drill Up
DWH
DWM
EAI
EDW
Entity
Entity – Modell
Entity - Relationship Methode
Entitytyp
ERD
ETL
Im Verlauf einer Auswertung wird von -> aggregierten Daten einer
Auswertedatenhaltung auf Detaildaten in anderen Tabellen (u. U. der ->
operativen Systeme) verzweigt.
Gegenteil von -> Drill Down.
Data Warehouse. Das Warehouse ist das zusammenhängende
komplette System zu Bereitstellung von Daten für analytische
Auswertezwecke. Meist unterteilt man das Data Warehouse in mehrere
Schichten: -> Stage, -> ODS, -> Warehouse, -> Data Mart.
Oracle Data Warehouse Methode, die Methode beschreibt die
Vorgehensweise in einem Data Warehouse Projekt mit ihren Phasen und
Prozessen.
Enterprise Application Integration, Verfahren zum Message – basierten
Austausch von Informationen zwischen operativen Anwendungen. Der
Nachrichtigenaustausch bewegt sich meist auf der Ebene der
Transaktionen der jeweiligen OLTP Systeme.
Embedded Data Warehouse – Data Warehouse Komponente von Oracle
Applications. Vollständig vordefiniertes Warehouse.
Entities sind Objekte (Sachen, gedachte oder reale), die unter einem
gleichen Begriff zusammen gefasst werden können, also auch gleich
beschrieben werden können. Zur Beschreibung werden -> Attribute
verwendet.
Entities unterscheiden sich voneinander, wenn diese mit einer
unterschiedlichen menge von Attributen beschrieben werden können.
Entities können gedanklich leicht mit den späteren Tabellen einer
Datenbank verglichen werden, stellen aber zunächst einmal eine
logische Abstraktion dar und sind in der Praxis nicht immer 1:1 in die
Datenbankwelt zu überführen.
Im Sprachgebrauch wird ein Entity nicht von seiner Typisierung ->
Entitiytyp unterschieden (so auch hier) (DM)
Entity - Modell, ist die grafische Darstellung von Objekten innerhalb einer
Datenbank. Die Entität Kunde könnte beispielsweise wie folgt definiert
werden: Der Kunde ist Inhaber eines oder mehrerer Konten. Mehrere
Entitäten werden zu einem Modell zusammengefasst.
Ein Konzept zur Darstellung von Zusammenhängen aus einem
-> Diskursbereich . Beziehungen (-> Relationships) zwischen Objekten
(-> Entities) werden beschrieben. Es entsteht ein Plan eines
Unternehmens mit seinen Geschäftsobjekten und den Regeln, wie mit
diesen -> Geschäftsobjekten umgegangen wird.
In der Informatik werden unterschiedliche ERMs eingesetzt.
Fast eine Menge gleichartiger -> Entities zusammen.
Alle Objekte, die mit der gleichen Menge von Eigenschaften
beschrieben werden können.
Wird synonym verwendet zu -> Entity. (DM)
Entity - Relationship - Diagramm. Eine Methode, um Zusammenhänge
der realen Welt graphisch darzustellen. ERD werden z.T. mit
unterschiedlichen -> Notationen realisiert
-> Entity-Relationship- Methode
Extraction Transition Load -> OWB, analoge Begriffe -> ETT Extraktion,
Transition, Transform.
Allgemeiner Beschreibungsname für die Verfahren nach denen man
Daten aus den operativen Vorsystemen des Warehouses in die
verschieden Schichten des Warehouses läd, prüft und transformiert.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
ETL - Engine
ETT – Werkzeug
147/166
Extraction – Transition – Loade – Engine. Begriff mit dem einige Firmen
ihr Data Warehouse – Ladeverwerkzeug benennen. Meist ist es ein
eigenständiges Programm, das zusätzliche Hardware Ressourcen
benötigt. Im Oracle Data Warehouse wird dieses Programm durch die
Datenbank selbst ersetzt. Die Datenbank ist damit die Engine. Damit
können auch Hardware – Ressourcen gespart werden.
ETT, = Extract Transport und Transform. Bezogen auf ein Data
Warehouse würde man mit dem ETT - Werkzeug Daten aus
Quellsystemen extrahieren, über das Netz in das Data Warehouse
transportieren und dort in die benötigte Datenform transformieren (z.B.
wird ein numerischen Feld in ein Datumsfeld umgewandelt).
Analog -> ETL
Existence - dependent (Existenzabhängig)
Ein Child Entity in einer -> identifizierenden Beziehung ist
existenzabhängig. Zur eindeutigen Identifizierung einer -> Instanz der
Child Entität ist ein migrierter Foreign-Key des Parent - Entities nötig.
(Master – Detail – Beziehung) (DM)
Fact Table
Zentrale Tabelle in einem -> Star Schema. Sie ist n: 1 Beziehungen mit
den umgebenden -> Dimensionstabellen verbunden.
Ein Teil der Spalten der Faktentabellen sind somit auch die Foreign Keys
zu den Dimensionstabellen.
Faktentabellen beinhalten die eigentlichen Kennzahlen, die Umsätze, die
Mengen. Es ist in der Regel das messbare in den Transaktionen.
Während die Dimensionen den Stammdaten entsprechen, enthalten die
Faktentabellen die Bewegungsdaten.
Factless Facts
Faktentabellen müssen nicht immer messbare Werte beinhalten. Sie
können auch lediglich aus den Foreign Keys der Dimensionen bestehen.
Hier soll z. B. festgehalten werden, ob es überhaupt eine
Verkaufsaktivität gegeben hat.
Foreign Key
Constraint
Fremdschlüssel
Siehe Referenzielle Integrität
Frontend-Software
Zeiger bzw. Referenz auf eine andere Tabelle. Der Fremdschlüssel zeigt
auf den Primärschlüssel der referenzierten Tabelle. Über Joins werden
die Tabellen verknüpft.
Frontend-Software, bezeichnet man Software die der Endanwender
benutzt. Im Data Warehouse sind dies zum Beispiel Analysetools.
Frontend-Software
Functional Based
Indexes
Software, die die direkte Schnittstelle zum Anwender abdeckt
Index-Variante. Ein Index kann auf berechnete Werte gesetzt werden.
Wird z. B. in WHERE - Klauseln oft auf berechnete Ausdrücke angefragt,
so können diese berechneten Ausdrücke indiziert werden.
Performancegewinn.
Galaxy - Schema
Erweitertes Star-Schema, in dem verschiedene Fakt-Tabellen auf gleiche
Dimensionstabellen verweisen.
Generalisierung
Stellt in der Datenmodellierung eine Verallgemeinerung eines
Geschäftsobjektes dar. Die Entität KUNDE ist eine Generalisierung von
Privatkunde und Firmenkunde. Das Gegenstück ist die Spezialisierung.
Technisch unterscheiden sich spezialisierte und generalisierte Entitäten
dadurch, dass in der Spezialisierung nur die Attribute aufgenommen
sind, die den Spezialisierungscharakter ausmachen. Die generalisierte
Entität beinhaltet die Attribute die für alle spezialisierten Entitäten
gleichermassen gelten
Generatormanagemen Unterstützung des Administrators bei Neustrukturierung und
t
Weiterentwicklung der Informationsplattform.
generic parent
(Generalisierungs-Entity) Parent - Entity in einer ->Sub-Category-
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Geschäftsobjekt
Granularisieren
Granularität der
Faktendaten
Granularität im Data
Warehouse
Hash Joins
Hash Partitioning
Herkunftsanalyse
Hierarchical recursion
Hierarchie
Hierarchie
148/166
Relationship (DM)
(Business Objects) Beschreibbare Gegenstände der realen Welt, die z.B.
in einer Datenbank gespeichert werden können. Entsprchen den
Entitäten aus der Datenmodellierung. Das Pendant zu den
Geschäftsobjekten
sind
die
Geschäftsprozesse.
Mit
den
Geschäftsprozessen die Wertschöpfungsketten in den Unternehmen
beschrieben. Geschäftsprozessen operieren, modifizieren, erzeugen,
bestimmten die Geschäftobjekte.
Das Zerteilen von zusammenhängenden Informationen in nicht mehr
weiter teilbare Einheiten. Eine Möglichkeit ist die Technik der
Normalisierung im Rahmen der Datenmodellierung.
Die Art der Detaillierung der Transaktionsdaten (Bewegungsdaten). In
jüngster Zeit wird für Faktentabellen eine möglichst detaillierte Sicht
gewählt.
-> Granularität der Faktendaten
Verfahren zum „Verjoinen“ zweier Tabellen indem die Zuordnung der
Join-Spalten über einen Hash - Algorithmus festgelegt wird. Verfahren
der Datenbank, um Joins zu beschleunigen.
Zwischentabellen für Sorts werden vollständig im Speicher durchgeführt
ohne Zwischenspeichern auf der Platte.
Zufällige Verteilung von Daten um späteres paralleles Lesen leichter zu
machen. Werden in Historientabellen Daten sequentiell entsprechend der
Zeitreihen geschrieben., so behindert dies die Parallelverarbeitung von
Sätzen. Bei dem Hash Partitioning sind die Sätze über die zur Verfügung
stehenden physischen Blöcke besser verteilt.
Metadatenauswertung bei der die Datenquellen von Ergebnisstabellen
bzw. Berichten aufgelistet werden. Diese Analyse erfolgt heute mit
graphischen Anzeigewerkzeugen.
Eine (->) rekursive Beziehung bei der der Child - Zweig nur einen Parent
hat (1:n) (DM)
In einer Hierarchie wird dem Umstand Rechnung getragen, dass
Geschäftsobjekte
(z.
B.
Artikel)
einsprechend
gemeinsamer
Eigenschaften
zu
Gruppen
von
gleichen
Geschäftsobjekten
zusammengefasst werden können (z. B. Artikelgruppen).
Hierarchie, teilt Informations-, Organisations- oder Datenstrukturen in
verschiedene Ebenen. Beispiele sind die beiden Hierarchien: Produkt
(WKN) zu Produktgruppen (Instrumentenarten) oder Beraterschlüssel zu
Abteilungen zu ProfitCenters.
Homonyme
Begriff aus der -> Datenadministration. Bezeichnet den Umstand dass
ein Begriff genutzt wird, um unterschiedliche Dinge zu bezeichnen. Diese
Mehrdeutigkeit ist eine Gefahr für stimmige Datenmodelle. Aufgabe der
Datenadministration ist es diese zu vermeiden. Gegensatz zu ->
Synonyme.
Hub and Spoke
ETL- Konzept: Zusammenziehen aller Daten auf einen Knoten und
Architektur
anschließendes Verteilen. Gefahr von Bottlenecks. Alternative sind
verteilte Ladeszenarien
IDEF1x-Notation
Icam DEFinition method1 eXtended
Eine vom amerikanischen Militär entwickelte und in den USA sehr stark
verbreitete
Darstellung (Methode). Beziehungen werden als
durchgezogene oder gestrichelte Linien gezeichnet,
Kardinalitäten als Punkte/Kreise dargestellt.
Identifying relationship (Identifizierende Beziehung) Eine Beziehung zwischen einem ParentEntity und einem Child-Entity wobei der -> Primary Key des ParentEntityies als Primary-Key zum Child-Entities migriert wird.
Es entsteht eine sog. Existenzabhängigkeit. ->Instanzen des ChildCopyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
IE-Notation
Impact Analyse
Informationsplan
Initial Load
Inline Views
insert and replace
rules
Instance
Integrationsmanagem
ent
IntersectionDimension
Inversion Entry
Join
149/166
Entities können nur existieren, wenn es auch passende ->Instanzen der
Parent-Entität gibt. (DM)
Information-Egineering-Darstellung (James Martin): Beziehungen werden
als Striche und die -> Kardinalitäten als eine Kombination von 0, 1, nStrichen (Krähenfuß) dargestellt. Hat in Deutschland und den hier
eingesetzten Werkezeugen eine große Verbreitung. Wird von Ein
Datenmodellierungstool unterstützt.
-> Auswirkungsanalyse
Auflistung aller Informationen in einem Data Warehouse. Umfasst in der
Regel die Datenmodelle. Allerdings ist eine weitere Aufgliederung nach
Kennzahlen, Dimensionen, Geschäftsobjekten und Geschäftsprozessen
sinnvoll. Der Informationsplan ist wichtig, um zu verhindern, dass
Informationen mehrfach modelliert und gewartet werden.
Initial Load, erstmaliges Füllen einer Datenbank bzw. eines Data
Warehouses mit Daten z.B. aus Vorsystemen.
Eine Art Subquery. Eine SELECT - Abfrage nutzt das Ergebnis einer
andern SELECT - Abfrage z. B. in der FROM - Klausel.
Select a.feld1,b.feld2 from
tab1 a,
(select distinct feld2 from tab2) b
where …..
Beispiele für -> Referentielle Integritätsregel (RI). In einem abhängigen
Entity können nicht -> Instanzen eingetragen werden, deren
Fremdschlüsselbestandteil nicht mit dem Basisattribut übereinstimmt.
(Instanz) Wenn in einer Datenbanktabelle Sätze eingetragen werden,
dann sind diese vergleichbar mit den Instanzen einer Entität. Instanzen
sind die konkreten Objekte der realen Welt, die über den
Begriff des Entities auf einer Abstraktionsebene höher benannt und
beschrieben werden.
Einbettung eines neuen Systems in die bestehende Systemumgebung.
Eine Dimension kann nicht über eine 1:n Beziehung an eine
Faktentabelle angeschlossen werden, sondern stellt eigentliche eine n:m
Beziehung dar. Statt dessen muss eine Zwischentabelle gebildet werden:
die Intersektion – Dimension.
Zusätzliches inhaltliches (logisches) Zugriffsattribut auf ein Entity
(Tabelle), das aber nicht eindeutig sein muss (not unique).
Join, engl. Verknüpfung. Werden zwei oder mehrere Tabellen
ausgewertet, benötigt man sogenannte Verknüpfungen (Joins). Die
Tabellen werden in Datenbanken über Felder verknüpft, meist Primary
Key / Foreign Key Verbindungen.
KIM
Kunden Informations Management
Konstellation
Den Gesamtverbund von Faktentabellen über -> Conforming Dimensions
nennt man Konstellation (Constallation).
Lineage Analyse
List Partitioning
-> Herkunftsanalyse
-> Partitions können entsprechend einer Liste konkreter Werte eines
Feldes (Schlüsselwerte) eingerichtet werden.
Load Management beschreibt das Verfahren des Datenladens. Eine
Hauptkomponente des DWH, die das Einlesen der Daten aus den
Quellsystemen regelt. Wann welche Daten zu welchen Zeitpunkt geladen
werden und in welcher Abhängigkeit. Wird meist als Workflow realisiert.
Hier wird Wert auf Automatisierung gelegt.
Load Management
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
150/166
Look Up – Information
Look Up – Information ist eine Beschreibung zu einem Feld. Eine Tabelle
enthält eine Spalte mit definierten Codewerte. Die Langbeschreibung zu
diesen Codewerten ist in eine separate Tabelle ausgelagert. Um die
vollständige Information zu erhalten, muss über beide Tabellen ein Join
gelegt werden.
Look Up Table
Look Up Table, eine Tabelle die ergänzende Informationen oder
Beschreibungen zu einem Feld einer anderen Tabelle enthält.
Loopback Data
Warehouse
Ein Data Warehouse, dessen Daten zurück in die operativen
Ursprungsprozesse fließen. Die zurückfließenden Daten werden als
Steuerdaten für operative Prozesse tgenutzt.
Im Anhang von Mail-Nachrichten versandte Dokumente.
(Muß-Attribut) Gegenteil von ->optional.
Wird auch im Zusammenhang von -> nicht identifizierenden
Beziehungen benutzt, wenn das Foreign Key Attribut mit Not Null
deklariert wurde, womit die Child Entität existenzabhängig wird.
Detaillierte Zuweisung von Information aus einer Datenbank/Tabelle an
die strukturell gewünschte Stelle einer zweiten Datenbank/Tabelle.
Genutzte Methode zur Übernahme von Daten aus Vorsystemen.
Mail-Attachment
Mandatory
Mapping
Werden Daten in ein Data Warehouse geladen, schreibt man sie generell
in einem dafür vorgesehenen Bereich (Staging Area) herein.
Anschließend werden die Daten auf weitere Bereiche verteilt. Das
Überführungsobjekt- Programm nennt man Mapping. In ETL –
Werkzeugen wird oft auch das was in einem graphischen Editor
zusammengefasst werden kann als Mapping bezeichnet (z. B. OWB).
Materialized View
Physisch gespeicherter View. Dient der Optimierung von Abfragen.
Automatische Refresh Funktion. Rewriteverfahren der Datenbank.
Enthält verdichtete Daten, die aus detaillierten oder weniger verdichteten
Daten gewonnen werden. Der Oracle Cost - Based-Query - Optimizer
liest bei geeigneten Abfragen diese Daten anstelle der detaillierten aus.
Damit werden diese Abfragen transparent für den Anwender stark
beschleunigt. Eine Materialized View aktualisiert sich in der Regel
selbständig und muss nicht durch einen Ladeschritt beladen werden.
MAV
Measures
-> Materialized View
Fakten, Kennzahlen, anderer Begriff für Faktentabelle
Metadaten
Daten, die andere Daten beschreiben. Diese werden idealerweise in
einem eigenen Datenbankschema (z. B. in einem sog. Repository)
gehalten und verwaltet.
Metadaten haben in der Warehouse – Technologie zunehmend an
Bedeutung gewonnen weil sie die kompletten Warehouse – Strukturen
beschreiben. Man unterscheidet zwischen technischen und fachlichen
Metadaten. Technische Metadaten sind z. B. Tabellenbeschreibungen.
Fachliche Metadaten sind Beschreibungen zur Bedeutung von
Entitäten/Geschäftsobjekten im Kontext ihrer betriebswirtschaftlichen
Unternehmensprozesse.
-> Lineage Analyse (-> Herkunftsanalyse)
-> Impact Analyse (-> Auswirkungsanalyse)
Multidimensional OnLine Analytical Processing. Werkzeuge, die die zu
analysierenden Daten so abspeichern , dass sehr schnell wieder
abgegriffen werden können (Würfel). Meist sind die Speicherstellen der
jeweiligen Kennzahlen in zusätzlichen Indexbäumen direkt vermerkt.
Abfrageeinschränkungen über Dimensionen werden direkt auf die Daten
gelenkt. Abfragen in MOLAP – Systemen zeichnen sich durch hohe
Performance aus. Allerdings müssen die Daten erst in die sog. Würfel
geladen werden. Die Oracle – Technologie hat die Speicherung der
MOLAP
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
151/166
Würfel in die relationale Datenbank integriert, so dass zur Verwaltung der
Würfel weniger Aufwand anfällt.
Monitoring
Monitoring, bezugnehmend auf einem Rechner bedeutet es die
Überwachung von Aufgaben, Programmen und Prozessen. Das
Monitoring wird in der Regel im Rechenzentrum durchgeführt.
Die Überwachung von
Datenbankprozessen.
Aufgaben,
Programmen,
Rechner-
oder
MPP
MPP =Massive Parallel Processing. Ist eine Steigerung der
Parallelisierung. MPP-Systeme sind Rechnersysteme, die für große
Mengen von parallelen Transaktionen gebaut werden. Beschreibt große
Rechner mit mehreren Knoten(1 Knoten = mehrere Prozessoren). Durch
Hinzufügen von beliebig vielen Knoten wird eine fast unbegrenzte
Skalierung versprochen. MPP – Systeme werden von mehreren
Herstellern angeboten. Haben gegenwärtig sehr stark Konkurrenz
erhalten, da die konkurrierende SMP - Rechnerarchitekturen bzgl. der
Leistungsfähigkeit sehr stark aufgeholt hat.
n-ary relationships
N-fache Relationship: mehr als zweifache Beziehung. Diese kommen in
der Praxis sehr selten vor, zumal sie schwer zu handhaben sind. N fache Relationships lassen sich immer auflösen in mehrere -> binäre
Relationships. (DM)
Ein Data Warehouse in das operative Daten in sehr kurzer Zeit fließen.
Der Zeitabstand zwischen der Transaktion im operativen System und
den analytischen Ergebnissen in dem Data Warehouse ist sehr gering (
< 1 Std.). Dies wird vor allem dort gebraucht, wo Data Warehouse
Systemen zur Steuerung operativer Prozesse unmittelbar eingesetzt
werden.
Eine (->) rekursive Beziehung bei der der Child - Zweig mehrere Parents
haben können (n:n)
Near Realtime Data
Warehouse
Network recursion
Non-contiguous multiblock read ahead
non-identifying
relationship
Normalisation
normalisiert
Notation
ODS
(nicht identifizierende Beziehung) Eine Beziehung zwischen einem
Parent - Entity und einem Child - Entity
wobei der -> Primary Key des Parent-Entityies lediglich als Foreign- Key
zum Child-Entities migriert wird aber nicht in den Primary Key Bereich
gelangt.
->Instanzen des Child-Entities können auch existieren, wenn es keine
passende ->Instanz der Parent-Entität gibt. Der so entstandene Foreign
Key ist nicht notwendig um eine ->Instanz der Child-Entität eindeutig zu
Identifizieren. (DM)
(Normalisierung ) Verfahren zur Minimierung von Redundanzen im
relationalen Datenhaltungssystem.
Der Informationsgehalt wird an den Attributen festgemacht, die so den
Entitäten zugewiesen werden, dass jede Information nur einmal
gespeichert ist und damit auch nur einmal geändert werden muss.
Das Verfahren besteht aus ->1./2./3.- Normaform. (DM)
Ein nach den Regeln der relationalen Datenspeicherung erstelltes
Datenmodell ist normalisiert. Ein wichtiger Aspekt dafür ist die
Redundanzfreiheit, d.h. gleiche Daten sind nicht mehrmals im System
gespeichert. Man unterscheidet zwischen der 1. 2. 3. Normalform. Das
Verfahren der Normalisierung ist ein systematisches, methodisches
Vorgehen das zu absolut redundanzfreien Daten führt.
Zeichnerische Darstellung von Zusammenhängen zwischen Entität, d.h.
Dokumentation einer Beziehung (Ralationship). Beispiele sind ->IDEF1xNotation oder -> IE - Notation.
Operational Data Store. Ein (normalisiertes) Datenmodell, das auch für
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
OLAP
152/166
Auswertungen von der operativen Seite her eingesetzt werden. Eine
ODS – Schicht in einem Data Warehouse verbindet den Nutzen von
Integration, leichter Zugänglichkeit und Fehlerbereinigung den ein
Warehouse bietet mit der Notwendigkeit schnell und performant auf
Daten zugreifen zu müssen.
OLAP = OnLine Analytical Processing.
OLAP beschreibt das Analysieren von Daten in einer Datenbank vor dem
Hintergrund der dimensionalen Betrachtung. D. h. Fakten werden aus
unterschiedlichen Blickwinkeln heraus betrachtet, gemessen und
verglichen. Z. B. kann der Umsatz eines Unternehmens nach Regionen
gegliedert sein aber auch nach Produktgruppen. Hieraus ergeben sich
sehr flexible Analysen. Ein zweiter Aspekt ist der der Interaktion von
Benutzern mit dem System. Bei vielen Analysevorgängen wissen die
Mitarbeiter im Vorfeld nicht mit welchem Datenmaterial oder mit welcher
Abfrage die besten Ergebnisse zu erzielen sind. Daher werden mehrere
Analyseschritte nacheinander durchgeführt.
OLAP Analysen werden zusätzlich noch nach der Art der Speicherung
der Daten unterschieden in
-> MOLAP Multidimensional OnLine Analytical Processing und
-> ROLAP Relational OnLine Analytical Processing
Mit OLAP - Systemen kann der Benutzer direkt Analysen auf
Datenbanken durchgeführen. Ein Data Warehouse ist ein OLAP –
System mit dem Online analytische Operationen auf Massendaten z.B.
Summierung über alle Depots, durchgeführt werden können.
OLTP
OLTP = OnLine Transaction Processing. Ein OLTP-System
(Rechnersystem) ist speziell für die Massenverarbeitung von
vordefinierten Operationen kreiert worden.
Operational Data
Store
-> ODS
Operationalisierung
des Warehouse
Operative Systeme
Einbindung von Data Warehouse Informationen in operative
Unternehmensprozesse.
Zusammenfassung
aller
Softwareanwendungen
die
die
Unternehmensprozesse direkt unterstützen. Das sind i. d. R. die Online –
Anwendungen (OLTP). Gegenteil -> Dispositive Systeme.
Operative Prozesse
Alle Geschäftsprozesse eines Unternehmens, die der Realisierung der
Geschäftsidee dienen. Der Begriff wird meist als Abgrenzung zu ->
„dispositiven Prozessen“ genutzt.
(Optionalität) In einem Feld einer -> Instanz einer Tabelle, die mit einer
anderen Tabelle in Beziehung steht dürfen NULL - Werte vorkommen
auch dann, wenn dieses Feld das „beziehungsstiftende“ Feld ist, d.h. in
der an der Beziehung beteiligten Tabelle das gleiche Feld vorkommt.
Gegenteil von : -> mandatory
Mit dem Oracle Warehouse Builder (OWB) wird die Struktur des
Warehouses und die Datenflüsse des Warehouse - System (-> ETL) mit
graphischen Mitteln modelliert. Datenbankobjekte (Tabellen, Indizes,
Views, Summentabellen (MV), Starschemen, Partitionen, Funktionen,
Prozeduren u.a.) stellt OWB über DDL-Scripte direkt in die Oracle
Datenbank. Die Beschreibungen (Metadaten) der OLTP - Quellen sind in
das Modell integriert. Auch Warehouse - Endbenutzersichten können mit
dem OWB bereits vorbereitet werden. Auf einer Modellebene entsteht ein
einheitliches Bild des gesamten Warehouses. In einem „Satz Metadaten“
Optional
Oracle Warehouse
Builder (OWB)
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Outer Join
Outrigger Table
OWB
Parallel Faktentabelle
Parallel Query
Parallel query for
objects
Parallelisierung
Partition Exchange
And Load (PEL)
Partitioning
153/166
ist ein komplettes unternehmensweites Warehouse beginnend bei den
Quellen bis hin zu Endbenutzerberichten an einer Stelle dokumentiert!
Die Datenbewegung und Transformation übernimmt die Datenbank
selbst durch SQL- und PL/SQL-Komponenten, die OWB9i generiert hat –
schneller gelingt keine Datentransformation.
Spezieller Join, bei dem alle gefundenen Instanzsätze der an dem Join
beteiligten Tabellen in das Ergebnisset des Join mit aufgenommen
werden, sofern die übrgigen Abfragekriterien erfüllt sind.
Eine normalisierte Tabelle als Anhängsel zu einer Dimension. Ein
Snwoflake – Schema ist eine Ansammlung von normalisierten Outrigger
Tables während das logische Datenmodell aus zusammenhängenden
Entitäten besteht.
Oracle Warehouse Builder. -> ETL – Tool von Oracle als graphische
Oberfläche
für
die
Oracle
Datenbank.
Generiert
Datenbankprogrammcode in Form von PL/SQL mit eingebetteten SQL Kommandos.
OWB
unterstützt
damit
die
mengenbasierte
Vorgehensweise bei dem Laden von Daten durch die Datenbank.
Ein Starschema kann durchaus mehrere Faktentabellen beinhalten (auch
wenn die Form des Sterns damit nicht mehr gegeben ist). Hier handelt es
sich dann meist um Messwerte, die miteinander in Bezug gesetzt werden
sollen (Drill-Across-Anforderung). In dem Beispiel ist eine separate
Faktentabelle für die Bestellkosten (Lieferkosten, Bezug über
Lieferanten) gebildet worden.
Zusammenfassung aller Oracle Features mit denen paralleles Arbeiten
möglich ist (Mehr-CPU-Maschinen nötig!).
Aktivitäten können sein:
- Table Scans
- Sorts
- Such nach eindeutigen Werten
- Data Loading
- Creation of Summary Tables
- Building of indexes
- Recovery
Festlegung von Objekteigenschaften. Z. B. die Festlegung, dass eine
Tabelle im Parallel-Mode der Datenbank gelesen werden darf. Erst wenn
der Parallelisierungsgrad einer Tabelle festgelegt wurde, kann das
System dieses auch tatsächlich mit mehreren Prozessen parallel
bearbeiten. Schlüsselparameter ( z. B. CREATE TABLE ..... PARALLEL
8) Das System kann Defaults wählen.
Parallelisierung, werden zwei oder mehrere Operationen auf einem
Rechner gleichzeitig ausgeführt, spricht man von einer Parallelisierung.
Das Ausführen von mehreren Aufgaben (z. B. Datenbank-Operationen
wie INSERT, UPDATE, etc.) zur selben Zeit. Dies ist in
Rechnersystemen mit mehreren Prozessoren möglich
Oracle - Datenbank – basiertes Verfahren, zum schnellen Laden und
Entladen von Daten für partitionierte Tabellen. Eine vorbereitete
temporäre Tabelle wird über Partition Exchange als Partiton in die
partitionierte Tabelle übernommen.
Aufteilung von großen Tabellen auf mehrere Partitionen:
Vorteile:
- Separates Recovern einzelner Partitions, geringere Ausfallzeiten,
nicht alle Daten sind von Aufällen betroffen.
- Der Optimizer
kann bei Queries relevante Partitions einzeln
auffinden und andere überspringen.
- Partitions können einzeln reorganisiert werden.
- Partitionen können einzeln hinzugefügt oder gelöscht werden.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
154/166
Ein gutes Beispiel ist das Historisieren von DW-Daten.
Partitionen entsprechend der Jahrgänge oder Monatsscheiben.
Unterscheidung in -> RANGE / HASH / COMPOSIT und LIST Partitioning.
Partitioning Option
Partition-wise Join
PEL
Pivoting
Primärschlüssel
Progress Monitor
Query Management
Query Rewrite
Queue
RAC
Range Partitioning
Real Application
Cluster
Recursive
Relationships
Referential integrity
(RI)
Fähigkeit der Oracle-Datenbank, Tabellen und Indizes physisch in
mehreren Teilen und nicht als eine große Einheit zu speichern und zu
verwalten. Auf diese Weise können z. B. Umsatzdaten in einer
Umsatztabelle nach Monaten aufgeteilt abgespeichert werden. Bei einer
Abfrage muss dann nicht auf den gesamten Datenbestand zugegriffen
werden.
Das
bringt
deutliche
Vorteile
für
die
Verarbeitungsgeschwindigkeit (Performance).
Man unterscheidet bei Oracle10g zwischen Range, Hash, Composit und
List – Partitioning.
Verjoinung
der
einzelnen
Partionen
von
Fakten
–
und
Dimensionstabellen untereinander.
-> Partition Exchange And Load
Ändern
der
horizontalen
und
vertikalen
Platzierung
von
Dimensionswerten in einer Berichtsanzeigefläche.
Spaltenüberschriften werden zu Zeilenbezeichnern und umgekehrt.
Tatsächlich wird die Abfrage auf das Datenmaterial anders formuliert.
Eine Tabelle enthält genau einen eindeutigen Schlüssel, mit dem jede
Zeile identifiziert werden kann. Er kann einer eindeutigen Spalte
zugeordnet werden oder aus mehreren Spalten, die zusammen eindeutig
sind, bestehen.
(Progress monitoring of large running opration)
Graphisches Administrator Tool. Der Status von lange laufenden
Abfragen kann beobachtet werden. Zugriff über Enterprise Manager
Console und Oracle.
Eine Hauptkomponente des DWH, die das Verwalten der Auswertungen
und Berichte und die Zugriffskontrolle regelt.
Internes Umschreiben von Abfragen auf die Datenbank durch den
Optimizer. Eines der wichtigsten Hilfsmittel bei der Verwendung von
Materialized Views.
Warteschlange. Technisches Verfahren in der Oracle Datenbank (->
advanced Queuing), mit dem Nachrichten (Messages) zwischengepuffert
werden. Der Empfänger einer Nachricht quittiert bei erfolgreichen
Auslesen die Nachricht und löscht diese in der Queue. Damit ist eine
gesicherte Nachrichtenübermittlung garantiert.
-> Real Application Cluster
Partitions können entsprechend der Werte eines Feldes (Schlüsselwerte)
eingerichtet werden.
Das führt zu einem einfachen Zu- und Abschalten von Partitionen. ->
Rolling Window
Die Steuerung der Zugehörigkeit zu einer Partition erfolgt über die Inhalte
von Keyfeldern.
Oracle Datenbank – basiertes Verfahren zu Zusammenschluss von
mehreren Rechnern (Knoten) zu einem Rechnerverbund.
(Rekursive Beziehen) Ein Entity hat eine rekursive Beziehung zu sich
selbst, wenn in einem weiteren Attribut Instanzwerte des eigenen
Schlüsselattributes verwendet werden.
(-> hierarchical, -> network). Eine solche Beziehung muss non-identifying
sein. Hier muss mit -> Rolenames gearbeitet werden. (DM)
(Referentielle Integrität) (RI) Ein Set von Regeln, nach denen eine
Beziehung zwischen zwei Tabellen in einer Datenbank gesteuert wird.
Damit können die Sätze in den Tabellen zu einander in Bezug gesetzt
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
155/166
werden.
Die Datenbanksysteme reagieren mit Fehlermeldungen, wenn Regeln im
Rahmen der RI verletzt wurden. Die Beziehung zwischen den Tabellen
wird üblicherweise durch die „Reference“ - Klausel in dem CREATE
TABLE - Statement definiert.
Referenzielle Integrität Nach Aktivierung eines „Foreign Key Constraints“ erlaubt die Datenbank
nur das Einfügen oder Ändern von Datensätzen, bei denen das
referenzierende Attribut in der referenzierten Tabelle existiert. Es wird so
sichergestellt, dass keine ungültigen Werte gespeichert werden können.
Repository, ist ein zentraler Datenbestand innerhalb einer Datenbank mit
Repository
Informationen über die verwendeten Daten. Im Repository sind
beispielsweise alle fachlichen Objekte des Data Warehouse
beschrieben. Optimaler Weise können mehrere Anwender auf ein
Repository zugreifen. Aus einem Repository können einheitliche
Dokumentationen erzeugt werden. Das Data Warehouse Repository
wird mit dem Oracle Tool Designer/2000 verwaltet.
restricted
ROLAP
Prüfung auf Abhängigkeiten im Rahmen der -> Referentiellen Integrität.
Im Restricted-Fall wird auf eine mögliche Regel hin geprüft. Delete,
insert, update-Kontrolle. Aktivitäten in einer Tabelle werden von
Beziehungen zu einer anderen Tabelle abhängig gemacht.
Relational OnLine Analytical Processing.
Multidimensional OnLine Analytical Processing. Werkzeuge, die die zu
analysierenden Daten in relationalen Tabellen abspeichern (Star
Schema)
Rolename
Rolling Window
Rollup
Row Based
RQM
Runtime Audit
Browser
Sample
SCD
Schlüsselkandidat
(Rollenname) Spezifische Verwendung von Fremdschlüsseln (Foreign
Key) in abhängigen Entities. Für den Foreign Key wird ein andere Name
vergeben um in der Childtabelle einen Namenkonflikt zu vermeiden.
(DM)
Wird ermöglicht durch das -> Range Partitioning. In großen Tabellen mit
Historiendaten können aktuelle Zeiträume (Monate) bequem
zugeschaltet werden und veraltete einfach herausgelöscht werden.
SQL - Operator. Berechnung der „Subtotals“ einer Dimension bei einem
einfachen SQL - Statement. Der Vorteil liegt darin, dass Aufwände auf
den Server verlagert werden können.
Satzbasiertes Verarbeiten von Daten.
Meist langsamste Verarbeitungsvariante. Wird üblicherweise in
prozeduralen Programmiersprachen wie PL/SQL verwendet.
Risc- und Quality Management
Komponente des -> Oracle Warehouse Builders (OWB) in dem System
das aus mehreren Tabellen sowie Prozeduren besteht, legen die
Laderoutinen (-> ETL - Prozess) (PL/SQL) statistische Informationen ab.
Gespeichert werden z. B.
- Gelesene Sätze
- Geschriebene Sätze
- Abgewiesene Sätze
- Alle fehlerhaften Sätze
- Informationen über bereits gelaufene Job Routinen
SAMPLE Operator. Liefert für einen definierten Prozentsatz einer
Grundmenge, die angeforderten Ergebnisse. Ist für Schätzwerte hilfreich.
„Liefere für 3 % der Kunden den durchschnittlichen Umsatz“. Die 3%
werden zufällig zusammengesucht.
-> Slowly Changing Dimensions
(Candidate key ) Ein Attribut (oder eine Attributgruppe), das zur
eindeutigen (!) Identifizierung aller -> Instanzen herangezogen werden
kann.
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Self-tuning parallel
query
Sequential
Computations
Set Based
Set null
Slice and Dice
156/166
Candidate Keys können Primärschlüssel werden oder -> Alternate Key
sein. -> Alternate-Key (DM)
Automatische Verteilung der Last auf zur Verfügung stehende
Prozessoren.
A kind of fact table that represents the status of accounts at the end of
each time period. Daily snapshots and monthly snapshots are common.
Mengenbasiertes Verarbeiten von Daten in einer Datenbank. Meist
schnellste Verarbeitungsvariante.
Das Foreign Key-Feld der abhängigen Tabelle wird mit dem Wert NULL
belegt, wenn der Parentsatz gelöscht wird. (RI Regel).
Dice engl. Würfel, Über eine Filtersetzung wird nur ein Ausschnitt der
Daten betrachtet werden.
Slice engl. Scheibe. Über eine Filtersetzung wird nur ein Ausschnitt der
Daten betrachtet werden.
Slowly Changing
Dimensions
SMP
Snowflake Schema
Software-Agenten
Star Schema
Verfahren zum Historisieren von Dimensionswerten. Stammdaten
können sich im Verlauf der Zeit ändern. Weil jedoch in einem Data
Warehouse auch „alte“ (historische) Bewegungsdaten vorgehalten
werden, müssen die Stammdaten diese in ihrem ursprünglichen Zustand
auch wiedergeben. Zu Realisierung gibt es standardiserte Verfahren
(nach Kimball).
Symmetric Multiprocessing. Ein SMP-Rechner beinhaltet mehrere
Prozessoren, die Speicher und Festplattenlaufwerke gemeinsam nutzen.
Ein Snowflake Schema (Schneeflocken-Schema) ist eine Erweiterung
des Starschemas. Die Dimensionstabellen werden normalisiert. Dadurch
entstehen pro Dimension zusätzliche Joins, was das Abfragen innerhalb
der Datenbank aufwendiger macht. Oracle empfiehlt daher die
Verwendung von reinen Star Schemen.
Automatisierte Teilsysteme, die in einem Gesamtsystem, z. B. einem
DWH, Teilaufgaben übernehmen.
Denormalisiertes Datenmodell, das überwiegend in der Data Mart –
Schicht des Warehouses eingesetzt wird.
Es werden die Daten zu den Geschäftsobjekten von den zu messenden
Kenngrösse (z. B. Umsatz) in mehrere Tabellen
getrennt. Die
Verbindung zwischen diesen Tabellen stellen 1:n – Beziehungen (Fakten
– Dimensionen) dar.
Das Star Schema bietet 3 Vorteile:
- Es ist flexibel erweiterbar
- Es reflektiert die Geschäftsobjketesicht von Fachmitarbeitern
- Es ist in relationalen Datenbanken performant abfragbar.
Die zentrale Tabelle nennt man Faktentabelle (Facts) die umliegenden
Dimensionstabellen (Dimensions). Beide Tabellenarten sind über 1:nBeziehungen miteinander verbunden. Die Foreign Keys sammeln sich in
der Faktentabelle. Die Faktentabelle ist lediglich durch diese Foreign
Keys bestimmt. Sie hat keinen eigenen Primary Key. Es können also
Sätze mehrfach vorkommen.
Dimensionstabellen beinhalten beschreibende Informationen zu den
Geschäftsobjekten
(Textfelder,
einmalige
Eigenschaften,
Stammdateninformationen).
Faktentabellen beinhalten Felder, mit denen gerechnet werden kann. Alle
mess-/berechenbare Fakten, die sich ereignen (Bewegungsdaten).
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Star Transformation
Star-Query
Statistiken
Streams
Sub - CategoryRelationship
Sub Partitioning
Summary Advisor
Summary
Management
Summary Tables
Surrogate Key
Synchrone Kopplung
Synonyme
157/166
-> Star-Query
Spezieller, dem Star - Schema angepasster Zugriffspfad für das
Auslesen von Daten im Data Warehouse. Da die Fakt-Tabelle sehr große
Datenmengen enthält, die Dimensionstabellen jedoch relativ klein sind,
sind die klassischen Join - Verfahren in diesem Fall häufig ineffizient. Der
Oracle Cost – Based – Query - Optimizer erkennt Abfragen auf StarSchema - Tabellen und führt dann zuerst ein kartesisches Produkt der
Bitmap-Indizes der Dimensionstabellen durch und nutzt dieses zum Join
mit der Fakt-Tabelle.
Statistiken über die Datennutzung. Werden innerhalb der Oracle –
Datenbank mit DBMS_STAT erzeugt.
Oracle Datenbank – basiertes Verfahren zu -> asynchronen Koppeln von
zwei Datenbank – Anwendungen. Das Verfahren ist auch interessant,
weil zum Auslesen der Daten aus möglichen Vorsystemen nur die
Logdatei des Vorsystems gelesen werden muss. Zur Kopplung werden
Nachrichten von dem Vorsystem zu dem nachfolgenden System über
den Datenbank -> Queue – Mechanismus geschickt. Die Nachrichten
können zusätzlich über Transformationen modifiziert werden. Damit ist
das Verfahren ein logisches Transformationsverfahren und kein rein
physisches.
Eine Beziehung zwischen einem Entity A und seinen Sub-Entities
B und C.
In A sind alle Attribute zusammengefasst, die die Entities B und C
gemeinsam haben. In B und C sind nur solche Attribute aufgeführt, die
nicht gemeinsam und spezifisch für B und C sind.
Zwischen A und B sowie A und C besteht eine 1:1 bzw. 1:1,0 Beziehung.
Unterteilung einer -> Partition in weitere Unterpartitionen. Es lassen sich
RANGE – Partitions z. B. in HASH – Unterpartitions gliedern. Das
verstärkt die Selektionsmöglichkeiten bei dem Management der Daten in
einer Tabelle.
Wizzard zur Analyse von Queries und bestehenden -> Materialized
Views. Empfiehlt die Einrichtung von Materialized Views und zeigt die
Effizienz bestehender Materialized Views. Kann bei der Vielzahl von
möglichen Tabellen Ordnung schaffen.
-> Summary Tables (Materialized Views) können transparent im System
vorgehalten werden. Der Optimizer der Oracle Datenbank findet
automatisch den effektivsten Weg für die Abfrage. Ergebnisse können
aus einer Materialized View kommen auch wenn der Benutzer glaubt, die
Daten kämen aus der Basistabelle. Gezieltes für den Benutzer
transparentes Umschreiben von Abfragen durch das System.
Gespeicherte Ergebnisse von häufig gestellten Abfragen. In den
jüngeren Versionen von Oracle werden diese zunehmen durch
„Materialized Views“ ersetzt die das System selbständig verwalten kann.
Künstlicher Primary Key - Ersatzschlüssel, wenn andere Attribute bzw.
Foreign Keys als Primary Key nicht gewünscht sind. (DM)
Künstlicher Schlüssel. In Oracle können Sequenzen (Sequence)
angelegt werden, mit denen es möglich ist, Nummern zu generieren. Da
diese pro Sequence eindeutig sind, können diese als Werte für einen
Primärschlüssel herangezogen werden.
Im Gegensatz zur -> asynchronen Kopplung werden bei der synchronen
Kopplung Informationen eines Vorsystems direkt an das nachfolgende
System gesendet. Das sendende System steht wartet solange still, bis
das Empfängersystem eine Nachricht quittiert hat.
Sysnchrone Kopplungen sind z. B. Trigger – basierte Verfahren.
Begriff aus der -> Datenadministration. Bezeichnet den Umstand dass
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
Table level validation
rule
Task
Top N/Bottom N
Transportable
Tablespaces
Tuning
Unbalancierte
Hierarchien
Unification
Validation rule
View
VLDB
Warehouse
Management
Zeitreihenanalysen
158/166
mehrere Begriffe genutzt werden, um ein und dasselbe Objekt zu
bezeichnen. Synonyme sind oft die einzige Möglichkeit, um gleiche
Dinge aus unterschiedlichen Kontexten heraus zu betrachten und zu
benennen. Gegensatz zu -> Homonyme.
-> Validation Rule, die sich auf mehr als eine Column einer Tabelle
bezieht. -> Constraint - Zusatz auf Tabellenebene.
Ein einzelner Schritt bzw. eine Aufgabe innerhalb eines
Bearbeitungsprozesses. Mehrere Tasks bilden eine Phase.
Liefert die N-höchsten, N-niedrigsten Ergebnisse.
„Top 10“-Abfragen.
Ganze Tablespaces in der Oracle Datenbank können verschoben/kopiert
werden ohne die Daten einzeln zu entladen. Hilfreich für Staging Aktivitäten.
Die Feinabstimmung von Parametern eines Systems oder Teilsystems
zum Zwecke der Optimierung von Abläufen (Programme, Prozesse,
etc.). Hier vorwiegend auf Datenbanken bezogen (z. B. Performance Tuning).
Dimensionen sind meist nach Hierarchiestufen strukturiert. Bei
gleichmäßigen (Balancierte) Hierarchien gibt es auf jeder Hierarchiestufe
Instanzwerte. Unbalancierte Hierarchien haben dies nicht. Z. B. gibt es
oberhalb der Kostenstellen in einem Unternehmen nicht immer die
gleichen Organisationseinheiten.
Ein und derselbe Fremdschlüssel wird mehrfach von einem oder
mehreren unterschiedlichen Entities übernommen. Soll dies verhindert
werden,
muss
mit
-> Rolenames gearbeitet werden (DM).
Ein Ausdruck der für eine bestimmte Datenbank festlegt, welche Werte
oder Wertebereiche in einer Column gültig sind.
(->Column level validation rule/->table level validation rule)
Eine View ist eine Sicht auf einen Teilbereich von Daten in einer
Datenbank. Eine View kann zum Beispiel die Informationen zu einem
Kunden enthalten.
Very Large Data Base. Da ein Data Warehouse typischerweise große
Datenmengen enthalten kann, muß die zugrundeliegende Datenbank
sehr große Datenmengen performant verwalten können. Oracle9i kann
Tabellen bis zum PB-Bereich (Peta-Byte) bearbeiten und bietet mit
Tabellen-Partitionierung,
Bitmap-Indizes
und
Star-Queries
Voraussetzungen, um Data Warehouse Systeme adäquat bedienen zu
können.
Eine Hauptkomponente und die Schaltzentrale des DWH. Regelt u. a.
die Prozesskontrolle, Metadatenmanagement, Archivierung, etc.
Berichtsart, bei der Kennzahlen zu verschiedenen Zeitpunkten gemessen
und gegenübergestellt werden. (Z. B. Absatzentwicklung Quartal 1,2,3,4
...)
14.5 Abbildungsverzeichnis
Warehouse – Plattform – mehr als nur eine Sammlung von Komponenten ............. 11
Data Warehouse – Architektur – Rückgrat einer effizienten Data Warehouse Lösung ................................................................................................................ 12
Unternehmensprozesse werden nicht mehr nur Top Down sondern auch horizontal
auf der unteren ebene gemessen ...................................................................... 16
Bandbreite der Verwendung der Warehouse – Informationen .................................. 17
Prozessunabhängigkeit von Warehouse Strukturen ................................................. 18
Kombinationsmöglichkeiten im multidimensionalen Modell ...................................... 21
Liste von festen Kennzahlen Metadaten gesteuert über Browser dargestellt ........... 22
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
159/166
Architekturen bestehend aus Technologien, Verfahren und Regeln sind
standardisierbar und können von Projekt zu Projekt unabhängig von der
fachlichen Anforderung wiederverwendet werden. ............................................ 26
Verwendung von Namenskonventionen zur Orientierung bei Auswirkungs- und
Herkunftsanalyse über Metadaten ..................................................................... 27
Metadatenmodell (- Ausschnitt) zum Informationsplan im Data Warehouse ............ 29
3 – Schichtenmodell für unternehmensweit eingesetzte Data Warehouse Systeme 30
Die Warehouse – Schicht steht für einmaligen Aufwand und verhindert
unkontrolliertes „Werkeln“ in den Data Marts ..................................................... 32
Metadaten kontrollierten die Zusammenhänge in dem 3 Schichtenmodell (Herkünfte
und Auswirkungen sind offengelegt) .................................................................. 32
Aufendige historisch gewachsene 4 – Schichten – Lösung ...................................... 33
Freie Wahl von multidimensionaler oder relationaler Datenspeicherung sowohl bei
der Definition als auch bei der Datenbefüllung .................................................. 34
Wahlfrei den Ort einer Analyse für Standardberichte festlegen ................................ 34
Einheitliche Sprachmittel standardisieren alle Datenflüsse und Schnittstellen des 3
Schichtenmodells sowohl innerhalb des Systems als auch nach außen ........... 37
Nachteile Engine – basierter ETL – Werkzeuge ....................................................... 39
Schlechtes Beispiel: Hier wird satzweise geladen. Innerhalb einer PL/SQL – Schleife
werden zusätzlich SELECT – Aufrufe für Lookups durchgeführt. ...................... 42
Zu bevorzugende Lösung: Alle Lookups werden mengenbasiert durchgeführt und
das Ergebnis in eine temporäre Tabelle geschrieben, die anschließend zum
Schreiben der korrekten Sätze in die Zieltabelle oder zum Schreiben von
falschen Sätzen in eine Fehlertabelle genutzt werden kann. Hierfür nutzt man
einen „Multiple Insert“. ........................................................................................ 42
Verfahren Partition Exchange And Load (PEL) ......................................................... 44
Zusätzliche Netzlast bei unnötig vielen Servern (z. B. ETL Server) .......................... 46
Verringerte Netzlast bei direkter Verarbeitung von Daten in der Datenbank und
Minimierung von Servern ................................................................................... 47
Datenarten in dem 3 Schichtenmodelle ..................................................................... 51
Früher / Heute: Mehr Flexibilität und Informationsvielfalt durch feinere Granularität 54
Früher/Heute:
Ineffiziente, ältere Strukturen zur Bereitstellung mehrere
Granularitätsebenen ........................................................................................... 54
Einmalige, normalisierte Tabellen der Warehouse – Schicht versorgen und
synchronisieren unterschiedliche Data Marts mit verschiedenen Sichten ......... 55
Technische Optimierungen der Datenbank für das Starschema gegenüber dem
Snowflake, hier im Beispiel die potentiellen Joins zwischen den Tabellen ........ 56
Auslagern von häufig genutzten Attributen einer Dimension in eine zweite schafft
Übersichtlichkeit und u. U. auch eine bessere Abfrageperformance ................. 57
Auslagern von operativ genutzten Attributen (z. B. Adressdaten) in eine von der
Dimension abhängigen Tabelle (1:1 Kardinalität) .............................................. 58
Unterschiedliche Verwendung von Stammdatenschlüsseln in verschiedenen
Anwendungen und die Notwendigkeit der Umschlüsselung .............................. 59
Kandidaten für Bitmap – Index im Starschema ......................................................... 60
Schlüsselbildung im Starschema ............................................................................... 61
Auf mehrere Sätze verteilte Informationen ................................................................ 61
Alle Informationen sind in einem Satz konzentriert ................................................... 62
Wegfall von Summentabellen spart ETL - Schritte und schafft mehr Flexibilität ....... 63
Erstellung von aggregierten Sichten auf der Basis von granularen Faktendaten und
Bereitstellung für unterschiedliche Zielgruppen ................................................. 64
Große Faktentabellen sind im Data Warehouse nur einmal vorhanden ................... 65
Das multidimensionale Modell hält Abfrageergebnisse bereits vor. Auf der Basis
dieser Ergebnisse können leicht und flexibel weitere Analyseschritte folgen .... 66
Beispiel für eine unbalancierte Hierarchie ................................................................. 68
Lösungsverfahren von unbalancierten Hierarchien bei der relationalen
Speichertechnik (Starschema) ........................................................................... 68
Lösungsverfahren von unbalancierten Hierarchien bei der multidimensionalen
Speichertechniken (Starschema) ....................................................................... 69
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
160/166
Abgrenzung Einsatzbereiche multidimensionale und relationale Speicherung......... 72
Wechselspiel multidimensionale und relationale Auswertemodelle. Einheitliche
Steuerung durch Oracle Warehouse Builder (OWB) ......................................... 73
Transformationsaufgaben im Verlauf der verschiednen Phasen des Warehouse Prozesses ........................................................................................................... 75
Beispielhaftes, mengenbasiertes Prüfverfahren mit CASE ....................................... 78
Prüf- und Kennzeichnungsverfahren in der Stage - Schicht ..................................... 79
Verfahren zur Erkennung von Änderungen ............................................................... 79
Normalisierungsschritt beim Wechsel Stage – Schicht nach Warehouse - Schicht . 80
Umwandeln normalisierter Strukturen zu denormalisierten Dimensionen ................ 82
Ableitung einer Dimension aus normalisierten Modellen durch Lookups und
Generierung von künstlichen Schlüsseln ........................................................... 83
Heranziehen von Referenzinformationen im SET Based – Verfahren ...................... 83
Zweischritt – Ladeverfahren. 1. Schritt Aktualisieren Dimensionstabelle, 2. Schritt
Key Lookup zum Umschlüsseln von Business Key zu künstlichem Schlüssel .. 85
4 Ebenen der Datenflusssteuerung im Data Warehouse .......................................... 87
Ladeläufe kapseln ihre Logik ..................................................................................... 87
Direktes Aufsetzen der Data Marts auf die operativen Systeme ............................... 89
Einsatz einer zentralen Warehouse Schicht .............................................................. 90
Einsatz einer zentralen Warehouse Schicht und Zusammenfassen der Data Marts 90
Data Mart - übergreifende Wiederverwendung von Dimensionen und Fakten
(unternehmensweit eingesetztes 3 Schichtenmodell) ........................................ 92
Darstellung der unterschiedlichen Schemata in dem Modell für mehrfach genutzte
Dimensionen und Fakten ................................................................................... 93
Arten und Verwendungen von Metadaten im Data Warehouse ................................ 96
Ableitung von Warehouse – Dokumentation aus dem Warehouse –
Entwicklungsvorgang ......................................................................................... 96
Aktualisierungsinformationen im Ladevorgang ......................................................... 98
Klassische Lösung: Metadaten sind über verschiedene Werkzeuge verteilt ............ 98
Modernes Szenario mit einer einheitlichen Metadaten - Verwaltung ........................ 99
4 – Ebenenkonzept von “toolneutralen – Metadaten - Repositories“ ...................... 100
Einordnung der unterschiedlichen Warehouse – Verwendungsarten gegenüber
Latenzzeit und Datenart ................................................................................... 103
Einordnung ODS ...................................................................................................... 104
Datendurchlauf Realtime – Verfahren mit Loop Back ............................................. 107
Lastübernahme von ausgefallenem Rechnerknoten durch verbleibende Knoten in
einem RAC – Clusterverbund ........................................................................... 109
Die Daten müssen direkt an der Speicherstelle geschützt sein, nicht in den
Frontends ......................................................................................................... 111
Pollendes Near - Realtime Szenario mit Loop Back Aktion .................................... 112
Ausnutzen der Materialized Views mit dem Auslesen der View Logs zum ständigen
Aktualisieren der Berichte ................................................................................ 113
Historisierung in der Warehouse Schicht führt zu vielen Tabellen und einer
komplexeren Verwaltung .................................................................................. 115
Historisierung in der Data Mart Schicht vereinfacht das Gesamtverfahren, mach aber
das Lesen für Benutzer schwerer ..................................................................... 116
Historisierungsverfahren .......................................................................................... 116
Vorkommen von Berichten mit unterschiedlichen Zeitspannen .............................. 118
Teuere Ausbaureserven bei großen Rechnersystemen .......................................... 120
Neben der Datenintegration auch kostenschonende Hardware – Integration durch
RAC Technologie ............................................................................................. 120
Zentralisierte Bereitstellung von geclusterter Hardware für alle Daten- und
Funktionsbereiche im Data Warehouse. Real Application Cluster Verbund. ... 121
Aufwendige klassische Variante mit separatem ETL – Server und Standalone
Engine – Programm. Die Datenbank wird von außen bearbeitet. .................... 122
Heute möglich: Wegfall separater ETL – Server und ETL – Integration in der
Datenbank ........................................................................................................ 122
Aufwendige Aufbereitung von Analysen in den Front Ends .................................... 123
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
161/166
Sparen von Hardware für die sog. „Middle Tier“ bei Vorbereitung von
Standardabfragen innerhalb der Datenbank ................................................... 123
Wegfall von separater Hardware für separate Auswerteprogramme ...................... 124
Ressourcenbereitstellung je nach Bedarf entweder für operative oder dispositive
Anwendungen................................................................................................... 125
Eine Datenbank und zwei Rechner in einem Clusterverbund (RAC) bietet mehr
Flexibilität bei der Nutzung operativer und dispositiver Daten. Stammdaten sind
gemeinsam nutzbar. ......................................................................................... 125
Read-only Tablespaces müssen nicht gesichert werden ........................................ 130
Read only Tablespaces und Partitioning ergänzen sich ......................................... 130
Zusammenfassung der Warehouse Architektur ...................................................... 132
Copyright © 2005 by Oracle Corporation. All rights reserved
Data Warehouse Referenzarchitektur
162/166
14.6 Index
(Herkünfte und Auswirkungen, 33
1:1 Beziehung, 61
1:1 Kardinalität, 62
1:1 Kopiervorgänge, 29
1:1 Ladeaktivitäten, 53
1:1 Laden, 39
1:1 Lesen, 41
1:1 Transformationen, 37
1:N Kardinalität, 62
2. Generation, 40
24/7-Verfügbarkeit, 110
3 – Schichten Architektur, 25
3 – Schichtenarchitektur, 32
3 – Schichtenmodell, 30
Abfrageoptionen, 23
Abfrageperformance, 57, 78
Acta, 40
Adressdaten, 62
Aggregationen, 58
Aggregattabellen, 48
Aktualität der Berichte, 101
Aktualitätscheck, 101
Analysemodell, 25, 26
Analysewerkzeuge, 11
Analytical Workspace, 76
Anwenderhilfen, 99
Anwendungsneutralität, 21
Anzahl an Prozessoren, 48
Application Server, 124
Archive Log, 134
Archive Logs, 141
Ascential, 40
Asynchrone Kopplungselemente, 110
Attributtyp, 104
Auswertemodellen, 23
Auswerteschicht, 59
Auswertewerkzeuge, 61
Auswertewerkzeugen, 63
Automatisierung, 14, 91
Backup, 132, 133
Balanced Scorecard, 11
BAM, 16
Batch, 116
Benutzergruppen, 11
Benutzerstatement, 25
Berichtsschema, 25
Berichtsverifizierung, 101
Berichtszeiten, 14
Betriebshandbuch, 101
Bewegungsdaten, 69
Beziehungstyp, 104
Bitmap – Indizierung, 60
BPEL, 110
Browsen, 60
Bulk – Load – Mechanismen, 126
Copyright © 2005 by Oracle Corporation. All rights reserved
Business Activity Monitoring, 16
Cache, 127
CASE, 40, 81
Checkoptionen, 44
Cluster, 42
Clusterverbund, 130
Cobolprogramm, 40
Code – Attribute, 61
Commit, 42, 51, 52
Conectors, 110
Constraintprüfung, 44
Constraints, 53, 85
Corporate
Performance
Mansagement, 16
Corrupt Block Detection, 134
CPM, 16
CRM – Systeme, 14
CTAS, 44, 82
Cube, 31
Cursor, 44
CWM, 74
Data Mart – Schicht, 137
Data Marts, 59
Data Mining, 17
Data Pump, 47
Database Links, 47
Datafile, 135
Datenadministration, 28
Datenanalyse, 25
Datenänderung, 67
datenbankbasierten Ladens, 21
Datenbanksprache, 38
Datenbeschaffungsprozesses, 34
Datenflussmodell, 25
Datenflusssteuerung, 91
Datenkonsistenz, 65
Datenmanagement, 48
Datenqualität, 25
Datenschutz, 115
Deltadaten, 53
Deltadatenerkennung, 83
Denormalisieren, 79, 84
Denormalisierungsschritt, 85
Denormalisierungsschritte, 31
Dimensional Table, 60
Dimensionshierarchien, 75
Dimensionstabelle, 63
dispositiven Datenbeständen, 31
Distinct, 84
Dokumentation, 25
DOP, 145
Downtime Free Backups, 134
Drill Across, 65
Dynamisches SQL, 44
Einführung, 25
Data Warehouse Referenzarchitektur
Einheitliche Sprachmittel, 39
Einzelabfragen, 14
ENFORCED, 142
Engine, 40
Entprivatisierung, 14
Entwicklungsmedium, 99
Entwicklungswerkzeugen, 25
ETL – Aufwende, 37
ETL – Engine, 124
ETL – Integration, 127
ETL – Server, 127
Event, 114
Extents, 145
External Tables, 49, 53
Extraktion, 53
Fachmitarbeiter, 68
Faktentabelle, 58, 65
Fast Refresh, 85, 110
Fehlerprotokollierung, 44
Feste Kennzahlen, 21
FK/PK – Beziehungen, 59
Flexibilität, 24
Flexibilitätsvorteile, 40
Flexible Auswertemodell, 21
FTP, 114
Funktionsbereichen, 31
geschachtelte Transformationen, 51
Glossare, 101
Granulare Daten, 64
granulare Faktendaten, 68
granularen Daten, 17, 76
granularen Faktendaten, 68
Granularisieren, 20
Granularisierung, 53, 58
Granularität, 58
GRID, 126
Gridfähigkeit, 42
Gruppierende Transformationen, 37
Hardware - Nutzung, 124
Hardwarebedarf, 42
Herkunftsanalyse, 28
Hierarchielevel, 61
Historisierungsverfahren, 120
Hochverfügbarkeit, 113, 132
Hub and Spoke, 34, 50
Hub and Spoke – Architektur, 33
Indizes, 45, 53
Informatica, 40
Informationsbausteinen, 20
Informationsbedarf, 25
Informationsbedarfsanalyse, 25, 29
Informationsplan, 29
Informationsversorgungsplan, 25
Join, 37
Join – Partitioning, 60
Kardinalität, 37
Kennzahlen, 23, 29, 60
Kennzahlenlisten, 23
Copyright © 2005 by Oracle Corporation. All rights reserved
163/166
Kennzahlenzugriffskonzept, 26
Kennzeichnung, 82
Komplexe Abfragen, 74
Konsolidieren, 80
Konzept, 25
Kostenfressern, 29
Kostenstellen, 71
Künstliche Schlüssel, 63
Label Security, 56
Ladeprozess, 90
Ladewerkzeugen, 40
LAG, 41
Latency, 14
Latenzzeit, 107
LEAD, 41
Lebensdauer, 20
Lookup, 85, 86
Lookups, 44, 46
Loop Back, 107
Loopback – Mechanismus, 112
Mandantenfähigkeit, 56
manuellen Tätigkeiten, 140
Mappinglevel, 90
Mappingmodell, 25, 26
Materialized Views, 37, 44, 57, 66
Mehrschichtenmodell, 19
Mengen – basierte Transformationen,
44
mengenbasiert, 46
mengenbasiertes Prüfverfahren, 82
Mengenoperationen, 44
MERGE, 83
Merkmale von Geschäftsobjekten, 22
Metadaten, 99
Metadaten Repository, 37, 104
Middle Tier, 128
MINUS, 41
Minutenzyklus, 116
Mission Statement, 25
Modellflexibilität, 21
MOLAP – Systeme, 71
multidimensionale Datenbank, 69
Multidimensionales Modell, 22
multidimensionales Speichern, 34
Namenkonvention, 28
Near Realtime, 107
Netzlast, 50
Neutralität, 99
Nologging, 133
Normalisieren, 79, 84
Normalisierte Strukturen, 57
Normalisierung, 53
Normalisierungs, 31
NOT NULL, 80
NULL, 80
Nutzenpotentiale, 140
Nutzergruppenplan, 26
Objektmodell, 25, 26
Data Warehouse Referenzarchitektur
Objekttyp, 104
ODS, 107
ODS – Schicht, 85, 137
OLTP -Systeme, 31
operational Data Store, 31
Operational Data Store, 107
Operational Data Stores, 55
Operationalisierung, 15, 16
Operativ genutzte Daten, 61
Operative Bewegungsdaten, 119
optimistischen Verfahren, 88
Oracle Warehouse Builder, 76, 77
ORDER BY Klausel, 142
Orphans, 53
OUTER JOIN, 41
OWB, 76, 81
Parallel Hierarchien, 62
PARALLEL_AUTOMATIC_TUNING,
48
Parallelisierung, 42
Partionen, 78
Partition Exchange, 47
Partition Exchange and Load, 135
Partition Exchange And Load, 78
Partitionen, 77, 78
Partitionierung, 48, 65
Partitioning, 85
PEL, 47
Performance, 42, 44
pessimistische Verfahren, 88
physisches Speichermodell, 70
PL/SQL – Schleife, 46
Plantabelle, 144
Planung, 18
Platinum, 40
Platten, 47, 141
Primary Keys, 62
Process Reengineering, 15
Produktgruppenhierarchien, 71
Projektaufwand, 13
Projektinkrement, 25
proprietär, 20
proprietären Toolsprachen, 38
Protokollieren, 80
Prozessanalyse, 25
Prozesse, 103
Prozesslevel, 90
Prozesssteuerung, 48
Prozessunabhängigkeit, 18
Prüfen, 80
Prüflogik, 37
Prüfschicht, 137
Pufferschicht, 31
Quellenanalyse, 101
Quellenmodelle, 25
query_rewrite, 142
RAC, 97, 124
RAC – System, 138
Copyright © 2005 by Oracle Corporation. All rights reserved
164/166
RAID, 141
Rankingabfragen, 128
Read Only Tablespace, 135
Real Application Cluster, 97, 124
Real Application Cluster Verbund,
126
Realisierung, 25
Realtime – Verfahren, 116
Recovery, 78, 132, 136
Referenzarchitektur, 8
Referenzdaten, 54
Referenzprüfungen, 44
relationale Speichermodell, 74
relationalen Speichertechnik, 72
Remote – Quellen, 38
Repository, 28
Rewrite, 142
RMAN, 134, 136
ROI, 24, 34
Rollback Segmente, 141
Runtime –Metadaten, 42
Satzübergreifende Konsistenz, 65
Scheduling, 66
Schnittstellenabstimmungen, 15
Scriptsprache, 101
Security, 42
Selektive Abfragen, 78
Semantisches Sprachmittel, 99
Separate Datenhaltungen, 57
Separate Faktentabellen, 65
Serverbasiertes, 16
SET Based, 88
SGA, 145
Sicherheitsmassnahmen, 115
Simulation, 18
Skalierbarkeit, 24
Skalierungsanforderungen, 48
Slowly Changing Dimensions, 55
Sparsity, 71, 75
Split, 37
SQL, 38
SQL Loaders, 49
Staging Area, 31, 53
STALE_TOLERATED, 142
Stammdaten, 53, 54
Stammdatenschlüsseln, 64
Stand By – Datenbank, 115
Standardberichte, 36, 76
Standardberichten, 57
Standardlösungen, 24
Starschema, 21, 31, 57, 59
Steuerung operativer Prozesse, 106
Stored Procedures, 44
Streaming -Techniken, 110
Strukturänderungen, 39
strukturierte Sichten, 21
Stücklisten, 71
Sub Partioning, 78
Data Warehouse Referenzarchitektur
Sub Partitioning, 142
Summentabellen, 29, 66
systemfabrik, 40
taktische Ebene, 14
Technik – Neutralität, 21
Teilprozessauswahl, 25
Templates, 28
Temporäre Tabellen, 53
temporären Tabellen, 48
Testdatengenerator, 114
textliche Gleichheit, 67
Transformationen, 32, 37
Transformationslast, 50
Transformationslevel, 90
Transformationsprozesse, 44
Trouble Free Backup, 134
TRUSTED, 142
Umschlüsseln, 87
Umschlüsselung, 64
UNION, 41
Unternehmenshierarchien, 15
Unternehmensreporting, 15
Copyright © 2005 by Oracle Corporation. All rights reserved
165/166
Verbindungssoftware, 110
Verdichtungsstufen, 58
Verwaltungsdaten, 99
Verwaltungsinformationen, 105
Vorhersehbare Auswertungen, 57
Wandlungsflexibilität, 31
Warehouse – Entwicklungswerkzeug,
101
Warehouse – Schicht, 85
Warehouse Handbuch, 100
Warehouse Life Cycle Werkzeug, 25
Warehouse Schicht, 137
Wartung, 25
Wiederverwendung von Dimensionen,
96
Workflow, 48, 66
Würfel, 31
Würfelstruktur, 57
XML –Daten, 41
Zeitdimension, 62
Zielgruppen, 68
Zugriffsschutz, 115
Data Warehouse Referenzarchitektur
166/166
14.7 Kommentare und Ergänzungen:
Bitte direkt an den Autor:
Alfred Schlaucher
Oracle Deutschland GmbH
Notkestrasse 15
22607 Hamburg
040 – 89091 - 132
[email protected]
Hier auch weitere Informationen zu verschiedenen Data Warehouse Themen und
diverse Workshops.
Copyright © 2005 by Oracle Corporation. All rights reserved
Herunterladen