Data Vault Ein Leben zwischen 3NF und Star Michael Klose, CGI Deutschland Oracle DWH Community, 18.03.2014 © CGI Group Inc. 2013 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 Erstklassige Business- und IT-Beratung Service für über Über 100 führende IP-basierte Lösungen 10.000 Kunden von weltweit über 400 Standorten CGI ist der weltweit End-to-End IT- und GeschäftsprozessDienstleistungen Fokussiertes Branchen- und Themen- Know-how 71.000 Mitarbeiter; 85% besitzen 10 Mrd. $ Jahresumsatz Firmenanteile* 37 Jahre Kundennähe erfolgreiche Partnerschaft mit unseren Kunden in Kombination mit unserem globalen Delivery-Netzwerk * Logica-Mitarbeiter ausgenommen 3 fünftgrößte unabhängige Anbieter von IT- & GeschäftsprozessDienstleistungen Business Intelligence: Unser deutsches Team 150 Mitarbeiter in - 1 2 Mitarbeiter Verantwortung Hamburg Bremen Berlin Erfahrenes Managementteam mit tiefem fachlichen Verständnis & langjähriger Erfahrung in komplexen Projekten 50 Mitarbeiter Düsseldorf Immer die aktuellen Trends im Auge: z.B. Big Data, Multi Device BI, Social Media, In-Memory Köln/Bonn 65 Mitarbeiter 10 Mitarbeiter Frankfurt/M. Darmstadt Vertrauensvoller Partner für u.a. für Dt. Telekom, Dt. Bahn, Vodafone, KION, Mannheim Zusammenarbeit mit namhaften Partnern: 10 Mitarbeiter Stuttgart MAN, 1&1, EZB, Gothaer & buch.de 10 Mitarbeiter Umfassende BI Betreuung München 4 Mitarbeiter Audit & Review, Architektur, ETL, DWH, Reporting, Planung & BICC Beratung 4 Inhalte 1 Data Vault - Definition & Positionierung 2 Data Vault - Grundlagen in der Modellierung 3 Data Vault - Modellierungsbeispiele 4 Schnellere Entwicklung mit Data Vault 5 5 Vorteile von Data Vault 5 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.” 6 Data Warehouse – Die Herausforderung Datenfluss Transaktion Data Warehouse Operatives BI No. 7 Analyse Modellierungsanforderungen und -methoden Transaktion Data Warehouse Minimierung Datenvolumen & Redundanz • Eigenschaften nur einmal gespeichert • Gruppierung über eindeutige Schlüssel • Kurze Schlüssel zur Speicherplatzund Datensatzlängenreduzierung • Datentrennung nach Aktualisierungsfrequenz No. 8 Analyse Modellierungsanforderungen und -methoden Transaktion Data Warehouse Analyse Reduzierung der Abfragekomplexität Line Station • Daten nach Business Anforderung Zone Journey Ticket Client Ticket Type gruppiert • Identifizierung von Reporting Kennzahlen und Dimensionen • Identifizierung der Granularitäts- und Normalisierte Modellierung(3NF) Historisierungsanforderungen • Reduzierung von komplexen Joins No. 9 Modellierungsanforderungen und -methoden Transaktion Analyse “Single Source of Facts” Line • Wartbarkeit für große Datenvolumen • Historisierte Speicherung aller Station Zone Data Warehouse Journey Ticket Client Ticket Type Normalisierte Modellierung(3NF) Calendar Daten; Nachvollziehbar und Revisionssicher • Konsistent, Integriert und Quellenunabhängig Line Route Zone Station • Balance zwischen Lade- und Abfrageperformance • Erweiterbar und Agil für Veränderungen No. 10 Dimensionale Modellierung Modellierungsanforderungen und -methoden Transaktion Data Warehouse Analyse Line Normalisiert Station Zone Journey Ticket Client Ticket Type Normalisierte Modellierung (3NF) Hybrid ? Dimensional No. 11 Calendar Line Route Zone Station Dimensionale Modellierung Modellierungsanforderungen und -methoden Transaktion Data Warehouse Analyse Line Calendar Line Station Route Zone Journey Ticket Client Ticket Type Normalisierte Modellierung (3NF) Zone Data Vault Modellierung No. 12 Station Dimensionale Modellierung 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 Detailinformationen S S S H L Business Key S H S H L S L S Beziehung S H Ergebnis: Komplette Separierung der drei Typen Hub, Link, Sat No. 14 Grundlagen: Was ist ein Hub? Primary_Key Business_Key Eigenschaften eines Business Key: • Ein Business Key basiert auf identifizierbaren Load_DTS Geschäftsobjekten Record_Source • Ein Business Key ist eindeutig • Ein Business Key ändert sich nicht und ist normalerweise auf dem Quellsystem nicht veränderbar 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) No. 15 Grundlagen: Was ist ein Link? 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) No. 16 Grundlagen: Was ist ein Satellit? 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) No. 17 Modellierungsbeispiele 1 2 3 4 • Der Weg zu Hub, Link, Sat – Bestellung • Kunden mit Adressdaten – Varianten • Neue Attribute implementieren • Neue Geschäftsbeziehung implementieren 18 Modellierungsbeispiele 1 Bestellung_01_S Bestellung_Quelle • Der Weg zu Hub, Link, Sat – Bestellung Bestellung_H BESTH_ID (FK) DATUM PREIS LOAD_DTS BESTH_ID (SK) BESTELLUNG_ID BESTELLUNG_ID BESTELLUNG_STATUS BESTELLDATUM BESTELLUNG_PREIS BESTPOSITION_ID BESTPOSITION_STATUS BESTPOSITION_MENGE BESTPOSITION_STKPREIS BESTPOSITION_GESPREIS KUNDE_ID Bestellung_L BESTL_ID (SK) BESTH_ID (FK) BESTPOSH_ID (FK) KUNDEH_ID (FK) BestPosition_01_S BESTPOSH_ID (FK) MENGE STUECKPREIS GESAMTPREIS LOAD_DTS 19 Bestellung_02_S BESTH_ID (FK) STATUS LOAD_DTS Kunde_H KUNDEH_ID (SK) KUNDE_ID BestPosition_H BestPosition_02_S BESTPOSH_ID (SK) BESTPOSITION_ID BESTH_ID (FK) STATUS LOAD_DTS Modellierungsbeispiele 2 Kunde_H Kunde_H KUNDEH_ID (SK) KUNDE_ID Kunde_Adresse_S KUNDEH_ID (FK) Wohnadr_Strasse Wohnadr_PLZ Wohnadr_Ort Wohnadr_Land Lieferadr_Strasse Lieferadr_PLZ Lieferadr_Ort Lieferadr_Land LOAD_DTS • Kunde mit Adressdaten – Varianten KUNDEH_ID (SK) KUNDE_ID Kunde_Adresse_S Kunde_Lieferadresse_S KUNDEH_ID (FK) KUNDEH_ID (FK) Wohnadr_Strasse Wohnadr_PLZ Wohnadr_Ort Wohnadr_Land LOAD_DTS Lieferadr_Strasse Lieferadr_PLZ Lieferadr_Ort Lieferadr_Land LOAD_DTS Variante 1: Adressattribute in EINEM Satelliten Variante 2: Adressattribute nach Typ auf ZWEI Satelliten verteilt 20 Modellierungsbeispiele Kunde_H KUNDEH_ID (SK) KUNDE_ID 2 Kunde_Adresse_L KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID(FK) • Kunde mit Adressdaten – Varianten Kunde_Adresse_H KUNDEADRH_ID (SK) ADRESSE_ID Kunde_Adresse_S Variante 3: Master-Satellit mit allen Adressen, typisiert über zusätzliches Attribut 21 KUNDEH_ID (FK) Adresse_Typ_Code Strasse PLZ Ort Land LOAD_DTS Modellierungsbeispiele Kunde_H KUNDEH_ID (SK) KUNDE_ID 2 Kunde_Adresse_L KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID (FK) ADRTYPH_ID (FK) • Kunde mit Adressdaten – Varianten Kunde_Adresse_H KUNDEADRH_ID (SK) ADRESSE_ID Kunde_Adresse_S Variante 4: Master-Satellit mit allen Adressen, Adresstyp-Zuordnung über Link AdressTyp_H ADRTYPH_ID(SK) AdresseTypCode AdressTyp_S ADRTYPH_ID (FK) AdresseTypBeschreibung 22 KUNDEH_ID (FK) Strasse PLZ Ort Land LOAD_DTS Modellierungsbeispiele 3 Bestellung_01_S Bestellung_Quelle BESTELLUNG_ID BESTELLUNG_STATUS BESTELLDATUM BESTELLUNG_PREIS BESTPOSITION_ID BESTPOSITION_STATUS BESTPOSITION_MENGE BESTPOSITION_STKPREIS BESTPOSITION_GESPREIS KUNDE_ID • Neue Attribute implementieren Bestellung_H BESTH_ID (FK) DATUM PREIS LOAD_DTS BESTH_ID (SK) BESTELLUNG_ID Bestellung_L Bestellung_LS BESTL_ID (SK) BESTH_ID (FK) BESTPOSH_ID (FK) KUNDEH_ID (FK) BESTL_ID (FK) BEARBEITER LOAD_DTS Bestellung_02_S BESTH_ID (FK) STATUS LOAD_DTS Kunde_H KUNDEH_ID (SK) KUNDE_ID BEARBEITER BestPosition_01_S BESTPOSH_ID (FK) MENGE STUECKPREIS GESAMTPREIS LOAD_DTS 23 BestPosition_H BestPosition_02_S BESTPOSH_ID (SK) BESTPOSITION_ID BESTH_ID (FK) STATUS LOAD_DTS Modellierungsbeispiele Kunde_H KUNDEH_ID (SK) KUNDE_ID 4 Kunde_Adresse_L KUADRH_ID (SK) KUNDEH_ID (FK) KUNDEADRH_ID(FK) • Neue Geschäftsbeziehung implementieren Kunde_Adresse_H KUNDEADRH_ID (SK) ADRESSE_ID Kunde_Adresse_S Kunde_Gutschein_L KUGUTH_ID (SK) KUNDEH_ID (FK) GUTSCHEINH_ID(FK) Gutschein_H GUTSCHEINH_ID (SK) GUTSCHEIN_CODE Gutschein_S GUTSCHEINH_ID (FK) Gutschein_Preis LOAD_DTS 24 KUNDEH_ID (FK) Adresse_Typ_Code Strasse PLZ Ort Land LOAD_DTS 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 5 Vorteile von Data Vault (Fazit) Bestehende Tabellenstruktur muss nicht angepasst werden à Hinzufügen neuer Satelliten Tabelle 1 Leicht Erweiterbarkeit / Anpassbarbarkeit Änderung von Objektbeziehungen erfordert keine Tabellenstrukturänderung à Neue Link Tabelle oder Zuordnung 2 Hohe Flexibilität Neue Datensätze in Satelliten und Links, Idealerweise reine Insert Strategie à Implizites setzen Gültigkeitsdatum 3 Einfache Historisierung Nachvollziehbarkeit von Änderungen und Vorhalten der Origialdaten à Business Data Vault 4 Compliance konform Abhängigkeiten und Parallelisierung beim ETL Prozess einfach abbildbar à Ladereihenfolge: Hubs, Links, Satelliten 5 Einfache Parallelisierung, Abhängigkeiten 27 Refere nce tab les B D s s e usin lt u a V ata Raw Big ? a t Da 28 Data Vaul t Ich freue mich auf Ihre Kommentare & Fragen! Michael Klose Section Manager BI Architektur & Strategie Mobile: +49 171 977 90 99 E-Mail: [email protected] 29