SPRINT aus Sicht der OSP-Teams

Werbung
Agile DWH Modellierung mit Data Vault
Alexander Blech
Matthias Wendt
2015-04-15
Agile DWH Modellierung mit Data Vault
Agenda
•
•
•
•
OSP Dresden und die Ottogroup
Data Vault Theorie
DV im Einsatz für die Hermes Fulfillment
Herausforderungen und Erkenntnisse im Betrieb
Seite 2
OSP Dresden und die Otto-Gruppe
Unternehmensvorstellung
•
Der Otto-Konzern
–
–
–
•
Ottogroup Solution Provider (OSP) Dresden
–
–
–
–
•
123 Gesellschaften in 20 Ländern
12 Mrd. Umsatz im Geschäftsjahr 13/14
Fokus auf Multichannel-Einzelhandel, Finanzdienstleistungen und Service
IT-Dienstleister für die gesamte Otto-Gruppe
Gegründet 1991 mit Sitz in Dresden, aktuell 165 Mitarbeiter
Schwerpunkte : Logistik und Warenwirtschaft
AMOS als eigenständiges Produkt
BI @ OSP
–
–
–
14 köpfiges BI-Team
Teradata und Microsoft SQL Server als Kerntechnologie
Hermes Fulfillment und Otto als Hauptkunden
Seite 3
Data Vault Überblick
Herkunft von Data Vault
•
Data Vault ist eine DWH-Methodensammlung
•
Ziel ist der Aufbau eines EDWH (Enterprise Data Warehouse)
•
Entwickelt von Dan Linstedt ab 1990
•
„Import“ nach Europa ca. 2007 durch Ronald Damhof
•
Bildung einer ersten User Group in den Niederlanden 2010
•
Deutsche Initiativen (deutsche DVUG) ab 2012
Seite 4
Data Vault Überblick
Inhalte von Data Vault
•
Vorschriften / Methoden zur Datenmodellierung
–
–
–
•
Methoden zur Datenverarbeitung / Bewirtschaftung
–
–
–
•
Konzeptionelle Modellierungssprache
Entwurfsregeln und – muster
Inkrementeller („agiler“) Entwicklungsansatz
ETL-Templates
Standardisierter Ladeprozess
Mögliche Ansätze für ETL-Programm-Generatoren
Architekturansätze
–
Trennung von Integrations-/Historisierungslogik und Geschäftslogik
Seite 5
Data Vault Überblick
Gründe für den Einsatz von Data Vault
•
Bewirtschaftungs-Performance
–
•
Unterstützung agiler BI-Projekte
–
–
•
Die Abbildung der Geschäftslogik wird in eine weitere Schicht – MART – verschoben.
Teilweise Infragestellung des „Single-Point-of-Truth“ auf Geschäftsprozessebene
Steigende Aufwände bei Impact-Analysen
–
•
Erweiterbare Datenmodelle ohne komplexe Abhängigkeiten
Kurze Releasezyklen
Reaktion bei Anpassung von Geschäftslogik
–
–
•
Komplexe Lade-Netze mit starker Kopplung
Abwärtskompatibilität bei Kontexterweiterungen
Neuprojekte
–
Aufbau einer tragfähigen Architektur
Seite 6
Erläuterung der Kernentitäten
Dekomposition – Beispiel
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
Beziehungen
Fachschlüssel
Kontextinformation
Seite 7
Erläuterung der Kernentitäten
Dekomposition – Beispiel
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
<<LNK>>
Beziehungen
Fachschlüssel
<<HUB>>
Kontextinformation
<<SAT>>
Seite 8
Erläuterung der Kernentitäten
Kernentitäten (Data Vault 1.0)
•
Hubs
–
•
<<HUB>>
Links
–
•
„Stamm“ einer Entität , bestehend aus
• Surrogate Key des DWH (SK)
• Business Key der Datenquelle (BK)
• Logging-Informationen (Quelle, Erstelldatum, Erstellprozess)
Bildet die Beziehung zwischen zwei oder mehr Partnern ab
• Eigener Surrogate-Key
• SKs der verbundenen Entitäten
• Logging-Informationen
• Link-fähige Partner sind HUBs oder LINKs
<<LNK>>
Satelliten
–
Persistieren von Detaildaten (Kontextinformationen von Hubs oder Links)
• SK des Hubs oder Links
• Detailattribute
• Historisierungs- und Loggingattribute
<<SAT>>
Seite 9
Erläuterung der Kernentitäten
Kernentitäten (Abwandlungen und Sonderformen)
•
Bridges
–
•
<<BRI>>
Referenzen
–
•
Vorberechnete „Sammlung“ von Beziehungen und Attributen
• Enthalten weiterführende Geschäftslogik
• Hauptnutzen: Performance-Optimierung
Einfache Referenztabellen
• Einsprung von Speichervolumen
• Meist Masterstammdaten ohne Änderungsaufkommen
<<REF>>
Transaktions-Satelliten
–
Nutzen analog der normalen Satelliten-Logik
• SK des Hubs oder Links
• Detailattribute
• Keine Historisierungs- weniger Loggingattribute
<<TSAT>>
Seite 10
Data Vault im Einsatz
Modellierungsbeispiel
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
Beziehungen
Fachschlüssel
Kontextinformation
Seite 11
Data Vault im Einsatz
Modellierungsbeispiel
<<HUB>>
H_WarehousePlant
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
Beziehungen
Fachschlüssel
<<HUB>>
H_QualityInspection
Kontextinformation
<<HUB>>
H_Product
Seite 12
Data Vault im Einsatz
Modellierungsbeispiel
<<HUB>>
H_WarehousePlant
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
<<LNK>>
L_QI_WP
Beziehungen
Fachschlüssel
<<HUB>>
H_QualityInspection
Kontextinformation
<<LNK>>
L_QI_Product
<<HUB>>
H_Product
Seite 13
Data Vault im Einsatz
Modellierungsbeispiel
<<HUB>>
H_WarehousePlant
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
<<LNK>>
L_QI_WP
Beziehungen
Fachschlüssel
Kontextinformation
<<HUB>>
H_QualityInspection
<<SAT>>
S_QualityInspection
<<HUB>>
H_Product
<<LNK>>
L_QI_Product
<<SAT>>
S_QI_Product
Seite 14
Data Vault im Einsatz
Modellierungsbeispiel – Agile Erweiterung durch „vertikale Partitionierung“
<<HUB>>
H_WarehousePlant
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
Neuer_Kontext
<<LNK>>
L_QI_WP
Beziehungen
Fachschlüssel
Kontextinformation
<<HUB>>
H_QualityInspection
<<SAT>>
S_QualityInspection
<<HUB>>
H_Product
<<LNK>>
L_QI_Product
<<SAT>>
S_QI_Product
Seite 15
Data Vault im Einsatz
Modellierungsbeispiel – Agile Erweiterung durch „vertikale Partitionierung“
<<HUB>>
H_WarehousePlant
Qualitätsprüfung
PK Id
FK Artikel_Id
FK Lagerbetrieb_Id
QM_Auftrags_Nummer
AuftragsuebergabeDatum
PruefungsStatus
PruefungsDatum
PruefungsErgebnis
Neuer_Kontext
<<LNK>>
L_QI_WP
<<SAT>>
S_QualityInspection
Neuer_Kontext
<<HUB>>
H_QualityInspection
<<SAT>>
S_QualityInspection
<<HUB>>
H_Product
<<LNK>>
L_QI_Product
<<SAT>>
S_QI_Product
Seite 16
Data Vault im Einsatz
Vorteile durch agile Erweiterung durch „vertikale Partitionierung“
•
Erweiterung des Modells ohne
Anpassung vorhandener Strukturen
•
Kompatibilität der Datenhaltungsschicht
zu Strukturanforderungen der aufsetzenden MART-Schicht
•
Analog zu neuen Kontextinformationen können
Verbindungen (Links) ohne Anpassung
vorhandener Strukturen etabliert
werden
•
Schnellere Umsetzung und Verringerung des Testaufkommens, da auf Regressionstests
verzichtet werden kann
•
Spätere Konsolidierungsaufwände, um die Ergebnisse aus n Iterationen
zusammenzuführen
Seite 17
DV in der Praxis
Ein Praxisbeispiel für DV bei der Hermes Fulfilment (HF)
•
HF ist Fulfillment-Dienstleister in der Ottogroup, teil der Hermes Europe
•
Abwicklung sämtlicher Services rund um die Bestellung
–
–
vom Wareneingang bis zum Warenausgang
Retourenprozess
•
Im Konzern und für externe Kunden
•
Betrieb mehrerer Versandzentren deutschlandweit
–
–
•
Haldensleben
Löhne, Ohrdruff
Paket- und Großstücklogistik, sowie hängende Konfektion
Webshop
Customer
Care
Finanzservices
Warehousing
Distribution
Retouren
Seite 18
Architekturüberblick + Technik
Ein Praxisbeispiel für DV bei der Hermes Fulfilment (HF)
•
Aufbau eines Core-DWH nach Data Vault seit 2013
–
•
Core als Teile einer 3-Schicht Architektur
Basis Microsoft SQL Server (DB + SSIS + SSAS)
–
–
Start mit SQL Server 2008R2
Für Mart+Olap mittlerweile SQL Server 2012 und 2014
•
Steuerung über BI-Framework (oneLog)
•
Permanentes Entwicklerteam von 3-5 Entwicklern
Datenquellen
Importschicht
Geschäftsmodellschicht
Auswertungsschicht
STAGE
CORE
Rel. MART / Cube
Darstellungsebene
Seite 19
Vorgehen bei Neuanforderungen
Der Weg von der Anforderung zur Umsetzung
•
Kunde definiert Anforderungen an Mart oder Cube
–
•
Prüfung auf Verfügbarkeit der Daten in Core und Stage
–
•
•
z.B. neue Kennzahlen, Dimensionsausprägungen, Hierarchien
Aufwandsindikator
Integration der neuen Informationen in Stage und Core
Erweiterung Mart um neue
Anforderungen
–
–
–
Einbindung in bestehende Dimensionen /
Fakten
Erstellung neuer Objekte
Erweiterung der OLAP-Cubes
SAT
Neuer
Objektkontext
Transformation
MARTObjekt
(neu)
HUB
Geschäftsobjekt
SAT
Objektkontext
MARTObjekt
(kompatibel)
Transformation
Seite 21
Fachlichkeit
Thematischer Fokus des DWH
•
Logistische Prozesse im Mittelpunkt
–
–
–
Lagerprozesse
Laufzeiten von Sendungen
Reporting über den gesamten Konzernlogistikverbund (HF + Baur + weitere)
•
Keine monetären Auswertungen
•
Prozessketten über mehrere verschiedene Quellsysteme
–
–
•
Eindeutigkeit von Entitäten muss sichergestellt sein
Schlüsselfindung aufwendig
Feine Granularität auf Artikel und Sendungsebene
–
–
–
1 Mio. Artikel je Tag im Warenausgang
Entsprechende Anzahl an Sendungen und Retouren
Bestandsführung auf Lagerplatzebene bei 3 Mio. SKU (Artikelpositionen)
Seite 23
Eindrücke aus dem Betrieb
Zusammenfassung
•
Entwicklung ist wirklich agiler geworden
–
•
Schnelle Umsetzungszeiten
–
–
•
Konzentration auf Fachlichkeit
Übersicht kann schnell verloren gehen
–
•
Aufwendige Regressionstests entfallen
Template-gestützte Entwicklung
Einarbeitung in Technologie einfacher, dank Standardisierung
–
•
Mitunter tägliche Roll-outs
Vielzahl von Objekten
Leistungsfähigkeit des BI-Frameworks ist wichtiger Bestandteil
–
–
Änderungsdetektion
Abhängigkeitssteuerung
Seite 24
sagt Danke für Ihre Aufmerksamkeit.
Herunterladen