Simplify Data Warehouse Approach tdwi 2013 München Dani Schnider Gregor Zeiler Die Methode zu modernem BI-Lifecyclemanagement BASEL 1 BERN LAUSANNE ZÜRICH DÜSSELDORF 2013 © Trivadis Simplify DWH Approach 17.06.2013 17.06.2013 FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Why Simplify… vorzeigbare Ergebnisse Geschwindigkeit Kurze Releasezyklen Implementierungszeit Anpassungsmöglichkeit Komplexität Data driven Dimensional modelling Kimball 2 Simplify DWH Approach 17.06.2013 Reaktionszeiten Standards Architekturen 2013 © Trivadis Flexibilität agile time to market Routinetätigkeiten Stakeholder Einbindung Business driven Data Vault Inmon Relational modelling Simplify Data Warehouse Approach Methode zum agilen DWH Lifecyclemanagement PROZESS DESIGN REALISIERUNG METHODEN VORGEHEN TOOLS AGILITÄT MODELLIERUNG ARCHITEKTUREN STANDARDS BEST PRACTICES AUTOMATISIERUNG INDUSTRIALISIERUNG DOKUMENTATION LIFECYCLE SUPPORT 3 2013 © Trivadis Simplify DWH Approach 17.06.2013 PROZESS 4 2013 © Trivadis Simplify DWH Approach 17.06.2013 Prozess Herausforderungen Abfolge, Dauer und Effizienz Traditioneller Projekt Approach Requirements Definition IT Solution Design Development & Test tics gis Lo ng ri ctu t u fa en m an M lop ve n ce De ina F ng eti ark M ales S ct du Pro DE O M IP CT SH RA NT where PO 50 25 10 ✓✱ 30 6 why & how stakeholder group COMPONENT DELIVERIES Supplier delivered Component 30 6 ✓ SUPPLIER PAYMENTS Employee pays Supplier 30 4 ✓✓ COMPONENT INVENTORY LEVELS Plant stocks Component 40 2 BILL OF MATERIALS Product made from Component 20 2 MANUFACTURING PROCESSES Plant runs Process 60 5 PRODUCT INVENTORY LEVELS Warehouse stocks Products 70 2 WAREHOUSE SHIPMENTS Carrier ships Product 80 7 ✱ 15 ✱ ✓ ✓ ✓ ✓ ✱ ✓ ✱✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓✓ ✓✓✓ ✓✓ ✓✓ ✓✓✓ Fact usage count ✓ 2 80 3 3 2013 © Trivadis Simplify DWH Approach 17.06.2013 1 2 0 6 5 ✓ 1 0 0 5 ✓✓ ✓✱ RESELLER SALES Reseller sells Product 10 ✓ ✓✓ RESELLER INVENTORY Reseller stocks Product MANUFACTURING PLANS Plant builds Product ✓ ✓✓ ✓✓✱ ✓✱ ✓ ✓ ✱✱ 100 30 ✓✓✓✓✓✓ 2 1 0 2 2 3 0 4 4 7 3 8 Lange Release Durchlaufzeiten Risiko von überholten Deliverables Viele Tool Switches, Medienbrüche Umfangreiche Specifikation Wir benötigen … mehr Effizienz mehr Agilität! 90 100 Estimate 5 RE O ST E S U HO T RE AN PL S what Importance PURCHASE ORDERS Employee purchases Component CO A W ST TE S ES C O T PR UC D O T PR EN N PO M CO R IE RR CA ER LL SE R RE LIE PP E SU YE O PL ate im Est ce n rta s po Im sion en ce Dim e n u eq EM who EVENT Release 3 Simplify Data Warehouse Approach agile DWH Lifecyclemanagement Closed loop Design & Development Prozess Lifecycle Design Development Schnell und standardisiert Design App tics gis Lo ng ri ctu t u fa en m an M lop ve n ce De ina F ng eti ark M ales S ct du Pro DE O M IP CT SH RA NT PO 6 where why & how 50 25 10 ✓✱ 30 6 COMPONENT DELIVERIES Supplier delivered Component 30 6 ✓ SUPPLIER PAYMENTS Employee pays Supplier 30 4 ✓✓ COMPONENT INVENTORY LEVELS Plant stocks Component 40 2 BILL OF MATERIALS Product made from Component 20 2 MANUFACTURING PROCESSES Plant runs Process 60 5 PRODUCT INVENTORY LEVELS Warehouse stocks Products 70 2 WAREHOUSE SHIPMENTS Carrier ships Product 80 7 ✱ 15 ✱ ✓ ✓ ✓ ✓ ✱ ✓ ✱✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓✓ ✓✓✓ ✓✓ ✓✓✓ Fact usage count ✓ 80 3 3 2013 © Trivadis Simplify DWH Approach 17.06.2013 1 2 0 6 5 ✓ 1 0 0 5 ✓✓ ✓✱ RESELLER SALES Reseller sells Product 2 ✓ ✓✓ ✓ ✓✓ 10 ✓ ✓✓ ✓✓✱ ✓✱ ✓ ✓ ✱✱ 100 30 RESELLER INVENTORY Reseller stocks Product MANUFACTURING PLANS Plant builds Product Generator stakeholder group 90 100 Estimate Strukturiert und effizient RE O ST E S U HO T RE AN PL S what Importance PURCHASE ORDERS Employee purchases Component CO A W ST TE S ES C O T PR UC D O T PR EN N PO M CO R IE RR CA ER LL SE R RE LIE PP E SU YE O PL ate im Est ce n rta s po Im sion en ce Dim e n u eq EM who EVENT ✓✓✓✓✓✓ 2 1 0 2 2 3 0 4 4 7 3 8 3 Prozess Herausforderungen Agile DWH Development Prozess 5 Grooming 2 3 2 Design 7 Backlog Item 2 Data Story (by PO, 3 Data Story (gegroomt, by 4 Dev. Data Story (by Dev. 5 Review Product 4 Sprint Review Sprint Planning 1 1 4 3 Development 2013 © Trivadis Simplify DWH Approach 17.06.2013 5 Basis für Grooming) Dev. Team, ready for Sprint ) Team, Progress im Daily) (presented by Dev. Team) Prozess Herausforderungen Agile DWH Development, Data Stories Data Story Data Requirements (nicht funktional) Fokus auf Business Events Sample: Wer tut was … wann, wo, wie viel, warum, wie (7W´s) Kunde bestellt Produkt … Kunde schließt Versicherungspolizze ab… VN meldet Schaden… Lieferant liefert Rohmaterial… Definition: Business Events beinhalten den „atomaren Level“ von messbaren Details von Business Prozessen. Problem: 8 User Stories in Form von Report-Requirements decken meistens nur Subsets von Data Requirements ab! 2013 © Trivadis Simplify DWH Approach 17.06.2013 Prozess Herausforderungen Methode, Vorgehen Business Driven Analyse Bedarf treibt Modellierung Source Source Data Source Driven Datenstrukturen der Datenquellen treiben Modellierung 9 Model Driven Referenzmodelle/ Modellierungsoptionen treiben Modellierung 2013 © Trivadis Simplify DWH Approach 17.06.2013 Das Zusammenspiel bringt den größten Nutzen! Talk Wie lange sind aktuell Ihre Releasezyklen im Data Warehouse? A) 1 Release / Jahr oder länger B) 2 Releases /Jahr C) 3 oder mehr Releases / Jahr Wer hat bereits Erfahrungen mit agilen Vorgehensweisen im Bereich BI (speziell im Data Warehousing)? Welchen Modellierungsansatz verfolgen Sie vorwiegend? A) Business Driven B) Data Source Driven C) Model Driven 10 2013 © Trivadis Simplify DWH Approach 17.06.2013 DESIGN 11 2013 © Trivadis Simplify DWH Approach 17.06.2013 DWH-Architektur Data Mart Historisierung DWH-Core im Core DatenCleansing bereinigung Staging Source 12 Source 2013 © Trivadis Simplify DWH Approach 17.06.2013 Source Datenbereinigung und Fehlerbehandlung Behandlung von Fehlern im ETL: Kosten Ignorieren der fehlerhaften Datensätze Filterung und in Fehlertabelle schreiben Zuweisung von Singletons (Defaultwerten) Generierung von „Embryo-Einträgen“ Datenqualität Aktualität Abbruch der Verarbeitung und manuelle Korrektur Geeignetes Vorgehen abhängig von Anforderungen an Datenqualität und Aktualität sowie von Aufwand (Kosten) 13 2013 © Trivadis Simplify DWH Approach 17.06.2013 Datenbereinigung in Cleansing Area Unbekannte Codewerte – Variante „Singleton“ STG_PRODUCTS Lookup Edradour, 300 Glenfarclas, 100 Macallan, 100 Bowmore, 400 Auchentoshen, -1 Edradour, M Glenfarclas, S Macallan, S Bowmore, I Auchentoshan, L 14 ID CODE REGION_NAME -1 ? Unknown 100 S Speyside 200 H Highlands 300 M Midlands 400 I Islay 2013 © Trivadis Simplify DWH Approach 17.06.2013 CLS_PRODUCTS Datenbereinigung in Cleansing Area Unbekannte Codewerte – Variante „Embryo“ STG_PRODUCTS Lookup Edradour, 300 Glenfarclas, 100 Macallan, 100 Bowmore, 400 Auchentoshen, 500 Edradour, M Glenfarclas, S Macallan, S Bowmore, I Auchentoshan, L 15 ID CODE REGION_NAME 100 S Speyside 200 H Highlands 300 M Midlands 400 I Islay 500 L Unknown 2013 © Trivadis Simplify DWH Approach 17.06.2013 CLS_PRODUCTS Historisierung im Core Dimensionales Core: Slowly Changing Dimensions Type 1: Überschreiben der Attributwerte Type 2: Vollständige Versionierung Type 3: Historisierung der letzten Änderung Relationales Core: Stammdaten-Versionierung Head-Tabellen Versions-Tabellen 16 2013 © Trivadis Simplify DWH Approach 17.06.2013 Stammdaten-Versionierung im Core HeadTabelle Head-Tabelle Entitäts-ID (Surrogate Key) Business Key / Primary Key des Quellsystems Statische Attribute (SCD 1) Statische Beziehungen VersionsTabelle Versions-Tabelle Versions-ID (Surrogate Key) Entitäts-ID (Fremdschlüssel auf Head-Tabelle) Gültigkeitsdauer (Gültig von – Gültig bis) Dynamische Attribute (SCD 2) Dynamische Beziehungen 2013 © Trivadis Simplify DWH Approach 17.06.2013 17 Stammdaten-Versionierung im Core Beispiel Core Adresse (Head-Tabelle) Kunde (Head-Tabelle) Konto (Head-Tabelle) Adresse (Versions-Tabelle) Kunde (Versions-Tabelle) Konto (Versions-Tabelle) 2013 © Trivadis Simplify DWH Approach 17.06.2013 18 Standardisiertes DWH-Modell Staging Area 19 Cleansing Area 2013 © Trivadis Simplify DWH Approach 17.06.2013 Core Data Marts Talk Wie sieht Ihr Core DWH aus? A) Dimensionales Modell (Ralph Kimball) B) Relationales Modell (Bill Inmon) C) Data Vault Modell (Dan Linstedt) Wie gehen Sie mit Fehlern um? A) Fehler werden toleriert (bis zu einem gewissen Maximalwert) B) Automatische Fehlerbehandlung (Singletons, Embryos, ...) C) ETL-Abbruch und manuelle Bereinigung im Fehlerfall Wie historisieren Sie Ihre Stammdaten im Core? A) Slowly Changing Dimensions Type 2 B) Versionierung mit Head-/Versionstabellen C) Regelmäßige Snapshots aller Datenbestände 20 2013 © Trivadis Simplify DWH Approach 17.06.2013 REALISIERUNG 21 2013 © Trivadis Simplify DWH Approach 17.06.2013 high DWH-Entwicklung im Quervergleich Beschleunigungspotential für Implementierung Generieren DB-Objekte und Datenfluss-Objekte DWH-Generatoren Lifecycle Support DWHGeneratoren low ETL Tools Pure hand coded SQL Data Modelling Tools Generieren DB-Objekte und Datenfluss-Objekte Unterstützen beim Änderungsmanagement Tool-Kategorie basic 22 Verbinden Analyse mit Entwicklung common 2013 © Trivadis Simplify DWH Approach 17.06.2013 advanced Entwicklung mit SQL / Programmiersprache Maximale Flexibilität Entwickler kann sich „selbst verwirklichen“ Lange Einarbeitungszeit Lesbarkeit abhängig von Programmierstil Standards und Programming Guidelines verwenden 23 2013 © Trivadis Simplify DWH Approach 17.06.2013 Entwicklung mit ETL-Tool Vorgefertigte Funktionaliäten Übersichtliche Darstellung, kürzere Einarbeitungszeit Versteckte Komplexität Fehleranfälligkeit bei repetitiver Entwicklung Wenn möglich Templates und ETL-Vorlagen verwenden 24 2013 © Trivadis Simplify DWH Approach 17.06.2013 Entwicklung mit DWH-Generator Kurze Entwicklungszyklen Einheitlichkeit des generierten Codes Nicht alle Spezialfälle generierbar Umgang mit nachträglichen Änderungen Standard-Funktionalitäten über Generator realisieren 25 2013 © Trivadis Simplify DWH Approach 17.06.2013 Change Management Impact Analyse! Änderungsaufwand! Iteration 1 Versionsmanagement Meta-DB Version 1 Version 2 26 DatenbankObjekte Mappings Data Flow Iteration 2 Meta-DB Dokumentation! Differenz V1 V2 2013 © Trivadis Simplify DWH Approach 17.06.2013 DatenbankObjekte Mappings Data Flow Talk Wie werden bei Ihnen ETL-Prozesse entwickelt? A) Mit SQL / Programmiersprache B) Mit ETL-Tool C) Mit DWH-Generator Haben Sie Erfahrungen mit DWH-Generatoren? A) Keine Erfahrungen B) Einsatz von projektspezifischem Generator C) DWH-Generator als Produkt beschafft 27 2013 © Trivadis Simplify DWH Approach 17.06.2013 Agiles DWH Lifecyclemanagement Simplify Data Warehouse Approach Agiles Vorgehen bringt mehr Akzeptanz und rasche bedarfsgerechte Ergebnisse Agile Methoden lassen sich nicht 1:1 auf agiles Data Warehousing anwenden (Data Stories) Designaspekte und Standardisierung müssen durch geeignete Vorkehrungen sichergestellt sein (z.B. Generatorlogik) Um die kurzen Zeitspannen in einem Sprint durchzustehen, müssen Design (Data Story Definition) und Umsetzung (Generierung) effizient zusammenspielen Change/Lifecycle-Support muss durch das iterative Vorgehen ausreichend unterstützt sein 28 2013 © Trivadis Simplify DWH Approach 17.06.2013 Praxisbeispiel Durchlauf einer Iteration Identifikation Data Stories Strukturierte Erfassung Business Requirements Modelldetails Data Source Generierung Deploy, Doc. Technical Modelling, Generation Report Dev. Rework Fin. Dev. Workshop Manuelles Rework autogen. Objekte 29 2013 © Trivadis Simplify DWH Approach 17.06.2013 Praxisbeispiel Modell Konfiguration, Branchen/Referenzmodelle Source-Data Integration und Verwalt. Branchen/ Referenzmodelle Source Field Sample Data MultilingualSetting Data Mart Konfiguration SCD-Typ Definition 30 2013 © Trivadis Simplify DWH Approach 17.06.2013 Praxisbeispiel Versionsmanagement, Generierung Ausführung der Skripte in der Zieltechnologie Generiertes Mapping VersionsManagement Schrittweises Generieren 31 2013 © Trivadis Simplify DWH Approach 17.06.2013 Praxisbeispiel Impact-Analyse, Dokumentation Änderung in den Modellversionen Änderung in den Source-Systemen 32 2013 © Trivadis Simplify DWH Approach 17.06.2013 Dokumentation Dokumentation der Änderungen Projektbeispiele Regionale Versicherung 50-60 Data Stories, 60-70 Dim. Stakeholder: Alle Orgbereiche DLZ: Design 6-8 Wo, R1 3-4 Monate, R2-n ca. 1-2 Monate Großer Retailer (Möbel) 60-70 Data Stories, 65-75 Dim. Stakeholder: CO, EK, LOG. DLZ: Design 4-5 Wo, R1 2-3 Monate, R2-n ca. 1-2 Monate Internat. Versicherungskonzern Ca. 6000 Business Items Stakeholder: Alle Orgbereiche+Hold. Konsolodierung der Items: 1-2 Mo Fundraising NPO 40-50 Data Stories, 65-75 Dim. Stakeholder: FR, KM, CO. DLZ: Design 3-4 Wo, R1 2-3 Monate, R2-n ca. 1-2 Monate Banking DWH Modul (SW-Haus) 40-50 Data Stories, 65-75 Dim. Stakeholder: RM, CO. DLZ: Design 4-6 Wo, R1 3-4 Monate Transportation 60-70 Data Stories, 120-140 Dim. Stakeholder: Alle Orgbereiche. DLZ: Design 6-8 Wo, R1 5-6 Monate 33 2013 © Trivadis Simplify DWH Approach 17.06.2013 biinformed. Trivadis www.trivadis.com Besuchen Sie auch den Trivadis Stand 36 BASEL 34 BERN LAUSANNE ZÜRICH DÜSSELDORF 2013 © Trivadis Simplify DWH Approach 17.06.2013 Dani Schnider [email protected] Gregor Zeiler [email protected] FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN biGenius TM Besuchen Sie auch den Trivadis Stand 36 35 2013 © Trivadis Simplify DWH Approach 17.06.2013 trivadis