Upload
phamliem
View
222
Download
1
Embed Size (px)
Citation preview
© CGI Group Inc. 2013
Data Vault Ein Leben zwischen 3NF und Star Michael Klose, CGI Deutschland Oracle DWH Community, 18.03.2014
Referent: Michael Klose
Manager BI Architektur & Strategie, CGI Deutschland
Schwerpunkte
• Konzeption komplexer BI & DWH Architekturen
• Implementierung von Prozessen & Anwendungen im Bereich BI&DWH
• Oracle DB, OWB, ODI, BIEE
• Oracle DWH Certified Implementation Specialist
• Oracle BI Foundation 10 Certified Implementation Specialist
• Informatica Powercenter
2
Weltweit zuhause: Das Unternehmen CGI
3
CGI ist der weltweit
fünft-größte unabhängige Anbieter von IT- & Geschäftsprozess-Dienstleistungen
* Logica-Mitarbeiter ausgenommen
Erstklassige Business- und IT-Beratung
End-to-End IT- und
Geschäftsprozess-Dienstleistungen
37 Jahre erfolgreiche
Partnerschaft mit unseren Kunden
Kundennähe in Kombination mit unserem globalen Delivery-Netzwerk
Über 100 führende IP-basierte
Lösungen
Fokussiertes Branchen- und
Themen- Know-how
71.000 Mitarbeiter; 85% besitzen Firmenanteile*
10 Mrd. $ Jahresumsatz
Service für über 10.000 Kunden
von weltweit über 400 Standorten
4
Immer die aktuellen Trends im Auge: z.B. Big Data, Multi Device BI, Social Media, In-Memory
Erfahrenes Managementteam mit tiefem fachlichen Verständnis & langjähriger Erfahrung in komplexen Projekten
Vertrauensvoller Partner für u.a. für Dt. Telekom, Dt. Bahn, Vodafone, KION, MAN, 1&1, EZB, Gothaer & buch.de
Umfassende BI Betreuung Audit & Review, Architektur, ETL, DWH, Reporting, Planung & BICC Beratung
Berlin
Hamburg
Bremen
Düsseldorf
Stuttgart
München
Frankfurt/M.
Darmstadt
Köln/Bonn
Mannheim
50 Mitarbeiter
10 Mitarbeiter 65 Mitarbeiter
4 Mitarbeiter
2 Mitarbeiter
10 Mitarbeiter
10 Mitarbeiter
Zusammenarbeit mit namhaften Partnern:
150 Mitarbeiter in - 1Verantwortung
Business Intelligence: Unser deutsches Team
Inhalte
5
Data Vault - Definition & Positionierung 1
Data Vault - Modellierungsbeispiele 3
Data Vault - Grundlagen in der Modellierung 2
5 Vorteile von Data Vault 5
Schnellere Entwicklung mit Data Vault 4
6
Urheber von Data Vault - Dan Linstedt
“The Data Vault is a detail oriented, historical tracking and uniquely linked set of normalized tables that support one or more functional areas of business.”
“It is a hybrid approach encompassing the best of breed between 3rd normal form (3NF) and star schema. The design is flexible, scalable, consistent and adaptable to the needs of the enterprise. It is a data model that is architected specifically to meet the needs of today’s Enterprise Data Warehouse.”
Data Warehouse – Die Herausforderung
No. 7
Analyse Transaktion
Datenfluss
Data Warehouse
Operatives BI
Modellierungsanforderungen und -methoden
No. 8
Minimierung Daten-volumen & Redundanz • Eigenschaften nur einmal gespeichert • Gruppierung über eindeutige
Schlüssel • Kurze Schlüssel zur Speicherplatz-
und Datensatzlängenreduzierung • Datentrennung nach Aktualisierungs-
frequenz
Analyse Transaktion Data Warehouse
Modellierungsanforderungen und -methoden
No. 9
Station
Journey Ticket
TicketTypeClient
Line
Zone
Normalisierte Modellierung(3NF)
Analyse Transaktion Data Warehouse
Reduzierung der Abfrage-komplexität • Daten nach Business Anforderung
gruppiert • Identifizierung von Reporting
Kennzahlen und Dimensionen • Identifizierung der Granularitäts- und
Historisierungsanforderungen • Reduzierung von komplexen Joins
Modellierungsanforderungen und -methoden
No. 10
Analyse Transaktion Data Warehouse
Station
Journey Ticket
TicketTypeClient
Line
Zone
Normalisierte Modellierung(3NF)
Route
Line
Station
Calendar
Zone
Dimensionale Modellierung
“Single Source of Facts” • Wartbarkeit für große Datenvolumen • Historisierte Speicherung aller
Daten; Nachvollziehbar und Revisionssicher
• Konsistent, Integriert und Quellenunabhängig
• Balance zwischen Lade- und Abfrageperformance
• Erweiterbar und Agil für Veränderungen
Modellierungsanforderungen und -methoden
No. 11
Normalisiert
Hybrid
Dimensional
?
Analyse Transaktion Data Warehouse
Station
Journey Ticket
TicketTypeClient
Line
Zone
Normalisierte Modellierung (3NF)
Route
Line
Station
Calendar
Zone
Dimensionale Modellierung
Modellierungsanforderungen und -methoden
No. 12
Route
Line
Station
Calendar
Zone
Dimensionale Modellierung Data Vault Modellierung
Analyse Transaktion Data Warehouse
Station
Journey Ticket
TicketTypeClient
Line
Zone
Normalisierte Modellierung (3NF)
Grundlagen: Data Vault Komponenten
Data Vault besteht primär aus drei Komponenten:
Hubs repräsentieren die Business Keys (Geschäftsobjekte)
Links stellen die Beziehungen zwischen den Hubs dar
Satellites enthalten alle Detailinformationen für Hubs und Links Die Hubs und Links formen das Skelett des Modells, während die Satelliten alle beschreibenden Details hinzufügen
No. 13
Grundlagen: Separierung der Typen
Ergebnis: Komplette Separierung der drei Typen Hub, Link, Sat
No. 14
Beziehung
Detailinformationen
Business Key
H
S
L
H S
H
S L H
S
L
S
S
S
S
Grundlagen: Was ist ein Hub?
No. 15
Eigenschaften eines Business Key: • Ein Business Key basiert auf identifizierbaren
Geschäftsobjekten • Ein Business Key ist eindeutig • Ein Business Key ändert sich nicht und ist
normalerweise auf dem Quellsystem nicht veränderbar
Primary_Key
Business_Key
Load_DTS
Record_Source
Mindestanforderungen an einen HUB: • Primary Key: Künstlicher Schlüssel (DWH) • Business Key: Eindeutiger Schlüssel (Quelle) • Load_DTS: Ladezeitstempel (DWH) • Record_Source: Datenquelle (DWH)
Grundlagen: Was ist ein Link?
No. 16
Eigenschaften eines LINK: • Ein Link basiert auf identifizierbaren
Beziehungen zwischen Geschäftsobjekten, z.B. Business Events oder Transaktionen
• Ein Link sollte sich im Laufe der Zeit nicht ändern. Er ist definiert über einen Fakt der genau zu diesem Zeitpunkt passiert
Primary_Key Foreign_Key_1 Foreign_Key_2
Load_DTS Record_Source
Mindestanforderungen an einen Link: • Primary Key: Künstlicher Schlüssel (DWH) • Foreign Key 1: Fremdschlüssel auf Hub 1 • Foreign Key 2: Fremdschlüssel auf Hub 2 • Load_DTS: Ladezeitstempel (DWH) • Record_Source: Datenquelle (DWH)
Grundlagen: Was ist ein Satellit?
No. 17
Eigenschaften eines SAT: • Ein Satellit beinhaltet Attribute welche das
Geschäftsobjekt oder die Geschäftsbeziehung näher beschreiben
• Ein Satellit bezieht sich nur auf genau EINEN Hub oder Link und besitzt nur einen Foreign Key
Foreign_Key
Attribute 1...n
Load_DTS
Record_Source
Mindestanforderungen an einen Satelliten: • Foreign Key:
Fremdschlüssel auf Hub oder Link • Attribute 1….n: Attribute • Load_DTS: Ladezeitstempel (DWH) • Record_Source: Datenquelle (DWH)
18
Modellierungsbeispiele
1 • Der Weg zu Hub, Link, Sat –
Bestellung
2 • Kunden mit Adressdaten – Varianten
3 • Neue Attribute implementieren
4 • Neue Geschäftsbeziehung
implementieren
19
Modellierungsbeispiele 1 • Der Weg zu Hub, Link, Sat –
Bestellung
BESTELLUNG_ID BESTELLUNG_STATUS BESTELLDATUM BESTELLUNG_PREIS BESTPOSITION_ID BESTPOSITION_STATUS BESTPOSITION_MENGE BESTPOSITION_STKPREIS BESTPOSITION_GESPREIS KUNDE_ID
Bestellung_Quelle
BESTH_ID (SK) BESTELLUNG_ID
Bestellung_H
KUNDEH_ID (SK) KUNDE_ID
Kunde_H
BESTPOSH_ID (SK) BESTPOSITION_ID
BestPosition_H
BESTL_ID (SK) BESTH_ID (FK) BESTPOSH_ID (FK) KUNDEH_ID (FK)
Bestellung_L
BESTH_ID (FK) DATUM PREIS LOAD_DTS
Bestellung_01_S
BESTPOSH_ID (FK) MENGE STUECKPREIS GESAMTPREIS LOAD_DTS
BestPosition_01_S
BESTH_ID (FK) STATUS LOAD_DTS
Bestellung_02_S
BESTH_ID (FK) STATUS LOAD_DTS
BestPosition_02_S
20
Modellierungsbeispiele 2 • Kunde mit Adressdaten –
Varianten
Variante 1: Adressattribute in EINEM Satelliten
KUNDEH_ID (SK) KUNDE_ID
Kunde_H
KUNDEH_ID (FK) Wohnadr_Strasse Wohnadr_PLZ Wohnadr_Ort Wohnadr_Land Lieferadr_Strasse Lieferadr_PLZ Lieferadr_Ort Lieferadr_Land LOAD_DTS
Kunde_Adresse_S
KUNDEH_ID (SK) KUNDE_ID
Kunde_H
KUNDEH_ID (FK) Lieferadr_Strasse Lieferadr_PLZ Lieferadr_Ort Lieferadr_Land LOAD_DTS
Kunde_Lieferadresse_S
KUNDEH_ID (FK) Wohnadr_Strasse Wohnadr_PLZ Wohnadr_Ort Wohnadr_Land LOAD_DTS
Kunde_Adresse_S
Variante 2: Adressattribute nach Typ auf
ZWEI Satelliten verteilt
21
Modellierungsbeispiele 2 • Kunde mit Adressdaten –
Varianten
KUNDEH_ID (SK) KUNDE_ID
Kunde_H KUNDEADRH_ID (SK) ADRESSE_ID
Kunde_Adresse_H
KUNDEH_ID (FK) Adresse_Typ_Code Strasse PLZ Ort Land LOAD_DTS
Kunde_Adresse_S
Variante 3: Master-Satellit mit allen Adressen, typisiert über zusätzliches Attribut
KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID(FK)
Kunde_Adresse_L
22
Modellierungsbeispiele 2 • Kunde mit Adressdaten –
Varianten
KUNDEH_ID (SK) KUNDE_ID
Kunde_H KUNDEADRH_ID (SK) ADRESSE_ID
Kunde_Adresse_H
KUNDEH_ID (FK) Strasse PLZ Ort Land LOAD_DTS
Kunde_Adresse_S Variante 4:
Master-Satellit mit allen Adressen,
Adresstyp-Zuordnung über Link
KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID (FK) ADRTYPH_ID (FK)
Kunde_Adresse_L
ADRTYPH_ID(SK) AdresseTypCode
AdressTyp_H
ADRTYPH_ID (FK) AdresseTypBeschreibung
AdressTyp_S
23
Modellierungsbeispiele 3 • Neue Attribute
implementieren
BESTELLUNG_ID BESTELLUNG_STATUS BESTELLDATUM BESTELLUNG_PREIS BESTPOSITION_ID BESTPOSITION_STATUS BESTPOSITION_MENGE BESTPOSITION_STKPREIS BESTPOSITION_GESPREIS KUNDE_ID
Bestellung_Quelle
BESTH_ID (SK) BESTELLUNG_ID
Bestellung_H
KUNDEH_ID (SK) KUNDE_ID
Kunde_H
BESTPOSH_ID (SK) BESTPOSITION_ID
BestPosition_H
BESTL_ID (SK) BESTH_ID (FK) BESTPOSH_ID (FK) KUNDEH_ID (FK)
Bestellung_L
BESTH_ID (FK) DATUM PREIS LOAD_DTS
Bestellung_01_S
BESTPOSH_ID (FK) MENGE STUECKPREIS GESAMTPREIS LOAD_DTS
BestPosition_01_S
BESTH_ID (FK) STATUS LOAD_DTS
Bestellung_02_S
BESTH_ID (FK) STATUS LOAD_DTS
BestPosition_02_S
BESTELLUNG_ID BESTELLUNG_STATUS BESTELLDATUM BESTELLUNG_PREIS BESTPOSITION_ID BESTPOSITION_STATUS BESTPOSITION_MENGE BESTPOSITION_STKPREIS BESTPOSITION_GESPREIS KUNDE_ID BEARBEITER
Bestellung_Quelle
BESTH_ID (SK) BESTELLUNG_ID
Bestellung_H
KUNDEH_ID (SK) KUNDE_ID
Kunde_H
BESTPOSH_ID (SK) BESTPOSITION_ID
BestPosition_H
BESTL_ID (SK) BESTH_ID (FK) BESTPOSH_ID (FK) KUNDEH_ID (FK)
Bestellung_L
BESTH_ID (FK) DATUM PREIS LOAD_DTS
Bestellung_01_S
BESTPOSH_ID (FK) MENGE STUECKPREIS GESAMTPREIS LOAD_DTS
BestPosition_01_S
BESTH_ID (FK) STATUS LOAD_DTS
Bestellung_02_S
BESTH_ID (FK) STATUS LOAD_DTS
BestPosition_02_S
BESTL_ID (FK) BEARBEITER LOAD_DTS
Bestellung_LS
24
Modellierungsbeispiele 4 • Neue Geschäftsbeziehung
implementieren
KUNDEH_ID (SK) KUNDE_ID
Kunde_H KUNDEADRH_ID (SK) ADRESSE_ID
Kunde_Adresse_H
KUNDEH_ID (FK) Adresse_Typ_Code Strasse PLZ Ort Land LOAD_DTS
Kunde_Adresse_S
KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID(FK)
Kunde_Adresse_L
KUGUTH_ID (SK) KUNDEH_ID (FK) GUTSCHEINH_ID(FK)
Kunde_Gutschein_L
GUTSCHEINH_ID (SK) GUTSCHEIN_CODE
Gutschein_H
GUTSCHEINH_ID (FK) Gutschein_Preis LOAD_DTS
Gutschein_S
Schnellere Entwicklung mit Data Vault & dem Oracle Data Integrator
Speziell angepasste CGI Knowledge Module für HUB, LINK, SAT
ü Reine INSERT-Strategie: Automatische Delta Ermittlung
ü Compliance: Automatisierte vollständige Historisierung
ü Einheitliche Entwicklung: ü Technische Attribute werden automatisch gemappt ü Entwickler muss nur Attribute mappen und keine Logik implementieren
25
Schnellere Entwicklung mit Data Vault & Informatica Power Center
Mapping Generierung für Data Vault HUB, LINK, SAT
ü Mapping Templates basierend auf “Mapping Architect for Visio” ü Deltaerkennung ü Versionierung ü Insert Strategie ü Technische Attribute
ü XML Parameter Generator für Zuordnungen über Data Lineage Metadaten
ü Generierung der Mappings
26
27
5 Vorteile von Data Vault (Fazit)
Hohe Flexibilität Änderung von Objektbeziehungen erfordert keine Tabellenstrukturänderung à Neue Link Tabelle oder Zuordnung 2
Leicht Erweiterbarkeit / Anpassbarbarkeit
Bestehende Tabellenstruktur muss nicht angepasst werden à Hinzufügen neuer Satelliten Tabelle 1
Einfache Historisierung Neue Datensätze in Satelliten und Links, Idealerweise reine Insert Strategie à Implizites setzen Gültigkeitsdatum 3
Compliance konform Nachvollziehbarkeit von Änderungen und Vorhalten der Origialdaten à Business Data Vault 4
Einfache Parallelisierung, Abhängigkeiten
Abhängigkeiten und Parallelisierung beim ETL Prozess einfach abbildbar à Ladereihenfolge: Hubs, Links, Satelliten 5
28
Business Data Vault
Raw Data Vault
Big Data?
Reference tables
Ich freue mich auf Ihre Kommentare & Fragen!
29
Michael Klose
Section Manager BI Architektur & Strategie
Mobile: +49 171 977 90 99 E-Mail: [email protected]