65
Andreas Buckenhofer Metadaten & Data Vault (Meta Vault) DOAG 2016, Nürnberg

Metadaten und Data Vault (Meta Vault)

Embed Size (px)

Citation preview

Page 1: Metadaten und Data Vault (Meta Vault)

Andreas Buckenhofer Metadaten & Data Vault (Meta Vault)DOAG 2016, Nürnberg

Page 2: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Zur Person

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 2

https://de.linkedin.com/in/buckenhofer

https://twitter.com/ABuckenhofer

https://www.xing.com/profile/Andreas_Buckenhofer2

Andreas Buckenhofer

Senior DB [email protected]

Seit 2009 bei Daimler TSS im Fachgebiet Big Data Business Unit Analytics

Page 3: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Interner IT-Partner für Daimler

Wir sind Spezialist und strategischer Business-Partner für

innovative IT-Gesamtlösungen im Daimler-Konzern.

Als 100%ige Daimler-Tochter leben wir die Kultur der Exzellenz

mit dem Anspruch der Innovations- und Technologieführerschaft.

Mit herausragender Technologie- und Methodenkompetenz

verstehen wir uns als Anbieter von wettbewerbs-

differenzierenden Dienstleistungen und sind

Impulsgeber in anspruchsvollen IT-Fragestellungen,

speziell in den Kernthemen Car IT und Mobility,

Information Security, Analytics und

Shared Services.

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 3

Page 4: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Standorte

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 4

Daimler TSS Deutschland

6 Standorte774 Mitarbeiter

Ulm (Hauptsitz)

Raum Stuttgart

Böblingen, Echterdingen,Leinfelden, Möhringen

Berlin

Daimler TSS India

Hub Bangalore19 Mitarbeiter

Daimler TSS China

Hub Beijing6 Mitarbeiter

Daimler TSS Malaysia

Hub Kuala Lumpur42 Mitarbeiter

Page 5: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 5

Ganzheitliche Betreuung (Erhebung, Auswertung, Visualisierung und Interpretation), unabhängige Beratung und Optimierung der Geschäftsabläufe.

Von klassischer BI bis hin zu predictive und prescriptiveAnalytics bieten wir Leistungen unter Berücksichtigung der Datensicherheit.

Dabei verknüpfen wir fachliche Erfahrung und IT-Know-how im Daimler-Kontext mit dem Blick fürs große Ganze.

Analytics. Das große Ganze verstehen, um Daten nutzbar machen.

Page 6: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 6

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Modell Generierung

5. Dokumentation / Data Lineage

6. Zusammenfassung

Page 7: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 7

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Modell Generierung

5. Dokumentation / Data Lineage

6. Zusammenfassung

Page 8: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Data Vault

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 8

Business Key

Beziehungen

KontextundHistorie

Data Vault:HUB

Data Vault:LINK

Data Vault:SAT

FINModellFarbeAusstattungBrancheProduktserieProduktionsbeginnLieferdatumBestelldatumKundeSteuergeräte

Fahrzeugdaten

Page 9: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

HUB

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 9

Identifikation

durch

eindeutige

natürliche

Schlüssel

(Business Keys)

Page 10: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Struktur HUB-Tabellen

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 10

Page 11: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Typische Merkmale HUB-Tabellen

Business Keys sollten echte Geschäfts-IDs sein (z.B. Fahrzeug ID, Seriennummer des Steuergeräts) = natürliche Schlüssel

Business Keys sollten sich nie ändern

Business Keys, die über mehrere Datenquellen hinweg nicht eindeutig sind, müssen das Quellsystem für die Eindeutigkeit des Business Keys verwenden

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 11

Page 12: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

LINK

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 12

Verbindungen

zwischen

Business Keys

(HUBs)

Page 13: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Struktur LINK-Tabellen

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 13

Page 14: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Typische Merkmale LINK-Tabellen

Ein LINK modelliert eine Beziehung. Die Beziehung ist immer n:m

Der zusammengesetzte Fremdschlüssel muss eindeutig sein

Eine Fremdschlüsselbeziehung ist führend („driving“)

Satelliten sind optional

Hierarchische Beziehungen durch einen LINK zwischen genau zwei HUBs. Arten von Beziehungen: SAL (same-as LINK) und HAL (parent-child LINK)

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 14

Page 15: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

SAT

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 15

Beschreibende,

detaillierte,

aktuelle

und

historisierte

Daten

Page 16: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Struktur SAT-Tabellen

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 16

Page 17: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Typische Merkmale SAT-Tabellen

Enthält alle nicht-Schlüssel Daten

Ist genau einer HUB-Tabelle oder LINK-Tabelle zugeordnet

HUB-Tabellen oder LINK-Tabellen können (sollen) mehrere SAT-Tabellen enthalten, die nach Quellsystem, Datenänderungsrate, Datentypen, usw. entworfen werden können

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 17

Page 18: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Design von SAT Tabellen

Verschiedene Kriterien, um SAT-Tabellen zu entwerfen, z.B. mehrstufig zuerst nach

• Quellsystem und ggf. zusätzlich

• Änderungshäufigkeit

• Datentypen (z.B. Auslagerung von CLOBS)

• Zerlegung inperformanter Quellsystemtabellen mit vielen Spalten

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 18

Page 19: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Data Vault (Daniel Linstedt)

Data Vault ist optimiert für Anforderungen im Core Warehouse Layer mit folgenden

Eigenschaften:

• Skalierbarkeit

• Datenintegration, Automatisierung

• Datenhistorisierung

• Auditierbarkeit

• Flexibilität

• Agilität

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 19

Bill Inmon (DW 2.0: The Architecture for the Next Generation of DWH, 2008): “Data Vault is the optimal approach for modeling the EDW in the DW2.0 framework.”

Page 20: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Data Vault Architektur

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 20

Data Warehouse

FrontendBackend

External datasources

Internal datasources

StagingLayer(Input Layer)

Raw Data Vault(Core

Warehouse Layer,

Storage Layer)

Mart Layer(Output Layer,

Reporting Layer,

Presen-tationLayer)

Optional Business

Data Vault(Core

Warehouse Layer,

Storage Layer)

Page 21: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 21

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Modell Generierung

5. Dokumentation / Data Lineage

6. Zusammenfassung

Page 22: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Was sind Metadaten?

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 22

Data about

other data

Page 23: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Typen von Metadaten

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 23

• Fachlich

• Glossar, fachliche Definitionen

• Geschäftsregeln

• Quellsysteme (fachliche Beschreibung)

• Technisch

• Physisches Datenmodell

• Quellsysteme (technisch, z.B. Verzeichnis von gelieferte Dateien, Häufigkeit)

• Operativ / Prozessual

• Laufzeiten ETL bzw Reports/Auswertungen/Analysen „Metrics Vault“

• Anzahl Datenätze

• Ausgesteuerte Daten / Datenqualitätsprobleme „Error Mart“

Page 24: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 24

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Modell Generierung

5. Dokumentation / Data Lineage

6. Zusammenfassung

Page 25: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Namenskonventionen

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 25

• Eigene Abkürzung für Data Vault Typen:

• H=HUB, L=LINK, S=SAT ???

• SAT-Tabelle zu HUB oder LINK unterscheiden?

• Raw Vault und Business Vault unterscheiden?

• Präfix vs Suffix

• In vielen Unternehmen bereits Konventionen gesetzt

• Erweiterung um Data Vault

Page 26: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Tabellen – HUB und LINK

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 26

Tabellentyp Namenskonvention

HUB, Raw Vault HUB_%NAME%

HUB, Business Vault Vault HUBB_%NAME%

LINK, Standardlink, Raw Vault LNK_%NAME%

LINK, Hierarchisch, Raw Vault HLNK_%NAME%

LINK, Same as, Raw Vault SLNK_%NAME%

LINK, Transactional, Raw Vault TLNK_%NAME%

LINK, Standardlink, Business Vault LNKB_%NAME%

LINK, Hierarchisch, Business Vault HLNKB_%NAME%

LINK, Same as, Business Vault SLNKB_%NAME%

LINK, Transactional, Business Vault TLNKB_%NAME%

Page 27: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Tabellen - SAT

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 27

Tabellentyp Namenskonvention

SAT, Standardsatellit zu Hub, Raw Vault HSAT_%SOURCE%_%NAME%

SAT, Standardsatellit zu Link, Raw Vault LSAT_%SOURCE%_%NAME%

SAT, Standardsatellit zu Hub, Business Vault HBSAT_%NAME%

SAT, Standardsatellit zu Link, Business Vault LBSAT_%NAME%

SAT, Multi-Active Satellit zu Hub, Raw Vault HMSAT_%SOURCE%_%NAME%

SAT, Multi-Active Satellit zu Link, Raw Vault LMSAT_%SOURCE%_%NAME%

SAT, Multi-Active Satellit zu Hub, Business Vault HBMSAT_%NAME%

SAT, Multi-Active Satellit zu Link, Business Vault LBMSAT_%NAME%

SAT, Effectivity Satellit zu Hub, Raw Vault HESAT_%SOURCE%_%NAME%

SAT, Effectivity Satellit zu Link, Raw Vault LESAT_%SOURCE%_%NAME%

SAT, Effectivity Satellit zu Hub, Business Vault HBESAT_%NAME%

SAT, Effectivity Satellit zu Link, Business Vault LBESAT_%NAME%

Page 28: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Tabellen – Rest

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 28

Tabellentyp Namenskonvention

Referenz-Tabellen, Raw Vault REF_%NAME%

Bridge-Tabellen, Business Vault BRD_%NAME%

PIT-Tabellen, Business Vault PIT_%NAME%

Dimensionen DIM_%NAME%

Fakten, Transactional FCTT_%NAME%

Fakten, Periodic Snapshot FCTP_%NAME%

Fakten, Accumulating Snapshot FCTA_%NAME%

Page 29: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Spalten

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 29

Tabellenspalte Namenskonvention

Load Date Timestamp LDTS

Load End Date Timestamp (optional) LEDTS

Record Source RSRC

Last Seen Date LSDT

Sub Sequence Identifier SSQI

Page 30: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 30

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Modell Generierung

5. Dokumentation / Data Lineage

6. Zusammenfassung

Page 31: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Warum Codegenerierung?

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 31

Schnellere Entwicklung

Vermeidung monotoner, sich wiederholender Aktivitäten

Standardisierung

Qualitätsverbesserung

Page 32: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Codegenerierung? Hat doch schon immer nicht funktioniert!

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 32

Generierter Code ist komplex und kaum wartbar

Generierter Code muss oft nachträglich verändert werden:

erneute Generierung = erneute manuelle Korrektur

Limits beim Generator / Performance nicht optimal

Page 33: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 33

Automatisierung funktioniert nur dann gut,

wenn die Ergebnisse aus

Automatisierung und manueller Tätigkeit

identisch

sind

Page 34: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Codegenerierung? Hat doch schon immer nicht funktioniert!

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 34

• Generierter Code ist komplex und kaum wartbar

• Data Vault ist hoch standardisiert und die Beladung relativ einfach

• Der generierte Code hat jeweils dasselbe Muster

• Fehlersuche einfach auch im generierten Code

• Generierter Code muss oft nachträglich verändert werden: erneute Generierung

= erneute manuelle Korrektur

• Wahrscheinlichkeit manueller Korrektur ist gering aufgrund hoher

Standardisierbarkeit von Data Vault (z.B. bei SAT-Tabellen wenn CLOBs/BLOBs

übertragen werden, um Performanz zu erzielen bzw. ETL Tool kann mit CLOBs nicht

richtig umgehen)

• Limits beim Generator / Performance nicht optimal

• Wahrscheinlichkeit gering solange keine Transformationen durchgeführt werden

Page 35: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Sehr hoher Aufwand ohne Automatisierung

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 35

Layer Anzahl Tabellen (1. Iteration)

Staging 53

Core / Data Vault 168

Mart 21+

Page 36: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Data Vault Architektur

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 36

Data Warehouse

FrontendBackend

External datasources

Internal datasources

StagingLayer(Input Layer)

Raw Data Vault(Core

Warehouse Layer,

Storage Layer)

Mart Layer(Output Layer,

Reporting Layer,

Presen-tationLayer)

Optional Business

Data Vault(Core

Warehouse Layer,

Storage Layer)

? ?

Page 37: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

„Raw Data“ vs „Cleansed Information“

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 37

Core Warehouse / Raw Data Vault Data Mart / Business Vault

Passive Datenintegration (mittels Business Key) Dateninterpretation/-transformation

Auditierbarkeit Datenqualität

Historisierung Historie soweit nötig

Schnelle Datenübernahme Schnelle Datenbereitstellung

Page 38: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Trennung von passiver Datenintegration und Dateninterpretation

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 38

• Einfachheit

• Problem handhabbar machen durch Auftrennung in kleinere Einheiten

• Verschiedene Teams/Entwickler, die sich um Datenintegration oder

Datenbereitstellung kümmern können

• Agilität: Theoretisch auch verschiedene Entwicklungszyklen / Sprints

• Standardisierung

• Passive Datenintegration bedeutet

• Keine Datenänderungen

• Keine Datentransformationen

• Keine Datenvereinheitlichungen

• Keine Datenaggregationen

Page 39: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Data Vault Architektur

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 39

Data Warehouse

FrontendBackend

External datasources

Internal datasources

StagingLayer(Input Layer)

Raw Data Vault(Core

Warehouse Layer,

Storage Layer)

Mart Layer(Output Layer,

Reporting Layer,

Presen-tationLayer)

Optional Business

Data Vault(Core

Warehouse Layer,

Storage Layer)

Code Generierung:Muster / Templates

Fachliche Logik / Deltaberechnung

Page 40: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Hash Keys statt Sequenzen für Primärschlüssel

Berechnung eines HKs aus den natürlichen Schlüsselattributen (Business Keys)

• Keine Lookups nötig: weitere Zunahme der Parallelisierbarkeit beim Load

• Vermeidung von Hot Spots (insb. sinnvoll bei sog. „Converged Systems“ wie Microsoft

APS, Exadata, Teradata, etc)

• Möglichkeit zur Verbindung relationaler DBs und Daten in Hadoop/NoSQL

• Jedoch: Gefahr einer Hash Key-Kollision

• Berechnung bereits im Staging Layer

Anmerkung: UPPER für den Fall, dass die jeweilige Spalte case-insensitiv ist

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 40

HK = dbms_obfuscation_toolkit.md5 (UPPER (TRIM (BK1)) || TRENNER || UPPER (TRIM (BK2)) …)

Page 41: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Wiederholbares Muster: Beladung HUB

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 41

Quelldaten

vorhanden

Business Keys distinkt laden

Business Key bereits im

HUB?

Datensatz in HUB eintragen

Konflikt bei PK

HashKey-Kollision!

Nein

Datensatz verwerfen

Daten im HUB

vorhanden

Ja

Page 42: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

HUB Lade-Muster

INSERT INTO core.fahrzeug (vehicle_hk, fin, loaddate, recordsource)

SELECT DISTINCT f.fahrzeug_hashkey

, f.fin_bk

, f.loaddate

, f.recordsource

FROM staging.fahrzeugdaten f

WHERE f.fin_bk NOT in (SELECT fin FROM core.hub_fahrzeug)

AND f.loaddate = <date to load>;

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 42

Page 43: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Wiederholbares Muster: Beladung LINK

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 43

Quelldaten

vorhanden

Business Keys distinkt laden

Hash Key Beziehungen

bereits im LINK?

Datensatz in LINK eintragen

Konflikt bei PK

HashKey-Kollision!

Nein

Datensatz verwerfen

Daten im Link

vorhanden

Ja

Page 44: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

LINK Lade-Muster

INSERT INTO core.link_verbaut (verbaut_hk, motor_hk, vehicle_hk, loaddate,

recordsource)

SELECT DISTINCT h.verbaut_hk

, f.motor_hashkey

, f.fahrzeug_hashkey

, f.loaddate

, f.recordsource

FROM staging.fahrzeugdaten f

WHERE (f.motor_hashkey, f.fahrzeug_hashkey) NOT in (SELECT motor_hk, vehicle_hk

FROM core.link_verbaut v)

AND loaddate = <date to load>;

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 44

Page 45: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Hash Keys zur Beladung von Satelliten

Berechnung von Hash Keys für Attribute in Satelliten-Tabellen

• Vergleich Hash Keys neue Daten in Staging Layer und geladene Daten in Core Layer

�Effizienter

�Weniger Code

Anmerkung: UPPER für den Fall, dass die jeweilige Spalte case-insensitiv ist

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 45

HK = dbms_obfuscation_toolkit.md5 (<HK Berechung BKs> || TRENNER || UPPER (TRIM (NVL(Spalte1, <dummy>))) || TRENNER || UPPER (TRIM (NVL(Spalte2, <dummy>))) || TRENNER ||

…)

Page 46: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Modellierung loaddate vs loaddate + loadenddate

Bestimmung des aktuellen Datensatzes in SAT-Tabelle

• Bei Verwendung loadenddate muss noch ein update des Vorgänger-Datensatzes

durchgeführt werden.

• Das INSERT-Statement wird einfacher.

• Alle Abfragen auf SAT-Tabellen sind einfacher (und potentiell performanter)

• Verzicht auf loadenddate

• Allgemein verwendbar, insbesondere auch für Hadoop

• Update erwies sich bei einem System im höheren TB-Bereich als große

Herausforderung bereits bei der Initialbefüllung sowie später bei der

Deltaverarbeitung aufgrund vieler Quellsystemdaten

• Herausforderung Bestimmung Gültigkeiten / aktueller Datensatz: komplexer und

langsamer im Vergleich zur Verwndung loadenddate

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 46

Page 47: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Wiederholbares Muster: Beladung SAT

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 47

Quelldaten

vorhanden

Quelldaten distinkt laden

MD5-HASH Diff gleich?

Datensatz in SAT eintragen

Nein

Datensatz verwerfen

Daten im SAT

vorhanden

Ja

Aktuellsten Datensatz aus

SAT-Tabelle laden

Page 48: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

SAT Lade-Muster

INSERT INTO core.sat_fahrzeug_text (vehicle_hk, loaddate, recordsource, md5_hash, codeleiste, kommentar)

SELECT DISTINCT f.fahrzeug_hashkey

, f.loaddate

, f.recordsource

, f.md5hash

, f.codeleiste

, f.kommentar

FROM staging.fahrzeugdaten f

LEFT OUTER JOIN (select s.vehicle_hk, s.md5_hash from s_fahrzeug s JOIN (select i.VEHICLE_HK, max(i.loaddate) as loaddate from s_fahrzeug i GROUP BY i.VEHICLE_HK) m

ON s.vehicle_hk = m.vehicle_hk AND s.loaddate = m.loaddate) k ON f.fahrzeug_hashkey = k.vehicle_hk

WHERE (k.md5_hash is null OR f.md5hash <> k.md5_hash)

AND f.loaddate = <date to load>;

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 48

Page 49: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Metadaten zur Erzeugung Spaltenmapping HUB

Quelltabelle Quellspalte Zieltabelle Zielspalte Typ

fahrzeugdaten fahrzeug_hk h_fahrzeug Vehicle_hk PKHashKey

fahrzeugdaten fin h_fahrzeug Vehicle_hk BusinessKey

fahrzeugdaten loaddate h_fahrzeug loaddate

fahrzeugdaten recordsource h_fahrzeug recordsource

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 49

Page 50: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Metadaten zur Erzeugung Spaltenmapping LINK

Quelltabelle Quellspalte Zieltabelle Zielspalte Typ

fahrzeugdaten Verbaut_hk l_verbaut Verbaut_hk PKHashKey

fahrzeugdaten fahrzeug_hashkey l_verbaut fahrzeug_hk DrivingHashKey

fahrzeugdaten motor_hashkey l_verbaut motor_hk HashKey

fahrzeugdaten loaddate l_verbaut loaddate

fahrzeugdaten recordsource l_verbaut recordsource

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 50

Page 51: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Metadaten zur Erzeugung Spaltenmapping SAT

Quelltabelle Quellspalte Zieltabelle Zielspalte Typ Reihen

folge

Berechnung

f.md5hash

fahrzeugdaten fahrzeug_hk h_fahrzeug Vehicle_hk PKHashKey 1 X

fahrzeugdaten loaddate h_fahrzeug loaddate PKHashKey 2

fahrzeugdaten recordsource h_fahrzeug recordsource 3 UPPER (TRIM (NVL(…, <dummy>)))

fahrzeugdaten f.md5hash h_fahrzeug Md5_hash MD5HashDiff 4

fahrzeugdaten codeleiste h_fahrzeug Codeleiste 5 TRIM (NVL(…, <dummy>))

fahrzeugdaten kommentar h_fahrzeug kommentar 6 UPPER (TRIM (NVL(…, <dummy>)))

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 51

Page 52: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Codegenerierung

• Am einfachsten: Generierung von SQL-Statements für verschiedene DBs (Oracle,

Hadoop/Hive, DB2, SQL Server)

• Generierung von SQL Statements relativ einfach, wenn auch Unterschiede zwischen

den RDBMS, z.B.

• DML-Error-Logging für andere RDBMS nicht verfügbar. Fehlerbehandlung!?

• Alternative: Generierung von Code für ein ETL Tool (Mappings Informatica, BIML

SSIS)

• Fehlerbehandlung, Logging, Monitoring, etc durch das Tool abgedeckt

• Deutlich aufwändiger

• Tool lizenzieren statt Do-it-yourself!?

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 52

Page 53: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 53

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Data Lineage

5. Modell Generierung

6. Dokumentation / Data Lineage

7. Zusammenfassung

Page 54: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Motivation

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 54

Wichtigkeit von Metadaten steigt allgemein

• Bankenkrise

• Banken waren nicht in der Lage, ihre Risiken zu steuern

• Datenschutz-Grundverordnung GDPR (General Data Privacy Regulation)

• Verordnung 2016/679 vom 27. April 2016 zum Schutz natürlicher Personen bei der

Verarbeitung personenbezogener Daten

• (65) Eine betroffene Person sollte ein Recht auf Berichtigung der sie betreffenden

personenbezogenen Daten besitzen sowie ein „Recht auf Vergessenwerden“, …

dass ihre personenbezogenen Daten gelöscht und nicht mehr verarbeitet werden …

• NoSQL / Hadoop

• Schema-on-read, ständig neue Strukturen (JSON)

Page 55: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Gesetzliche Anforderungen an Metadaten aus Bankenkrise

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 55

Glossar

Metadaten allg.

Systeme/Architektur ungenügend in Vergangenheit

Inventar von Regeln

Erkennung + Erklärung Datenfehler

Page 56: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Auswahl gesetzlicher Anforderungen an Metadaten

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 56

Glossar

Datenmodell

Data Lineage

Transformationsregeln

Datenfehler, Fehlerlogs

Laufzeitinformationen

Anzahl verarbeiteter Daten / ausgesteuerter Daten

Page 57: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Toolgestützte Metadatenverwaltung

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 57

Datenmodellierungstool

Toolhersteller (ETL/ELT Tool)

Toolhersteller Fokus Metadaten

Do it yourself

Page 58: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Agenda

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 58

1. Data Vault

2. Metadaten

3. Standarisierung – Namenskonventionen

4. Dokumentation / Data Lineage

5. Modell Generierung

6. Zusammenfassung

Page 59: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Metadaten und Data Vault

• Metadatenerfassung entscheidend für Projekterfolg

• Code Generierung wichtig

• Viele Tabellen im Core Warehouse Layer

• Hoher manueller Entwicklungsaufwand

• Monotone Tätigkeit = Copy & Paste

• Dokumentation

• rechtliche Vorschriften, z.B. Glossar, Validierungsregeln

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 59

Page 60: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Datenintegration

“People have forgotten, or never truly understood, how complex data integration

actually is.”

Data Vault

• Robuste ETL Prozesse

• Kleine, wartbare Mappings / SQL Statements

• Standardisierbarkeit / Wiederholbarkeit /Automatisierbarkeit

• Flexibilität

• Aber auch:

Viele Modellierungsoptionen = Viele Diskussionen

Quelle Zitat: http://db2portal.blogspot.de/2015/05/a-trip-report-from-2015-idug-db2-tech.html

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 60

Page 61: Metadaten und Data Vault (Meta Vault)

Thank you!

Daimler TSS GmbH

Wilhelm-Runge-Straße 11, 89081 Ulm, Germany / Phone +49 731 505-06 / Fax +49 731 505-65 [email protected] / Internet: www.daimler-tss.com / Intranet portal code: @TSSDomicile and Court of Registry: Ulm / Commercial Register No.: 3844 / Management: Christoph Röger (Vorsitzender), Steffen Bäuerle

Page 62: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Ein ganz anderer Metadaten-Ansatz. Was macht Google?

• Daten als wichtigstes Gut

• “Google data-culture”

• Daher auch wichtige Rolle von Metadaten

• Automatisierung der Metadatensammlung

• GOODS (GOOgle Dataset Search)

• Crawler durchsucht interne Speichersysteme (HDFS/GoogleFS, BigTable, RDBMS)

nach Metadaten

• Sammlung, Anreicherung und Speicherung von Metadaten

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Seite 62

Page 63: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Datenmodellierung

“Data modeling is the process of learning about the data, and regardless of

technology, this process must be performed for a successful application.”

Datenmodellierung, um

• Daten zu verstehen

• Performanz zu garantieren

• Entwicklung zu beschleunigen

• Qualität der Software zu verbessern

• Wartungskosten zu reduzieren

• Gemeinsames Verständnis zu fördern

• NoSQL Schema-on-read: Modellversionen auch nach Jahren noch verstehen

Quelle Zitat: Steve Hoberman: Data Modeling for Mongo DB, Technics Publications 2014

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 63

Page 64: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Methoden Know-how vs Produkt Know-how

Datenmodellierung macht jeder.

Methoden-Schulungen?

Fokus leider auf Schulung von Produkten / Tools.

Metadaten & Data Vault (Meta Vault) / DOAG 2016 / Seite 64

Page 65: Metadaten und Data Vault (Meta Vault)

Daimler TSS GmbH

Benötigte Metadaten

Metadaten & Data Vault (Meta Vault) / DOAG 2016/ Page 65

Benötigte

Metadaten

Quelle nach

Staging Layer

Staging Layer

nach Raw Data

Vault

Raw Data Vault

nach Business

Data Vault

Business Data

Vault nach Mart

Layer

Quelltabelle Vielfältige Quellen 1:1 Kopie der Quellsystem-tabelle/-datei

HUB, LINK, SAT HUB, LINK, SAT

Zieltabelle 1:1 Kopie der Quellsystem-tabelle/-datei

HUB, LINK, SAT SAT(, HUB, LINK) Fakten, Dimensionen

Transformations-regeln (fachlich)

Nein Nein Ja, können sehrkomplex werden

Ja, können sehrkomplex werden

Ergebnisse Automatisierung/manuell

Sehr wahrscheinlich identisch

Sehr wahrscheinlich identisch

Eher individuell Eher individuell