Qualitätskontrolle von Datenintegrations-prozessen Christoph Metz WIN – Treffen 02.10.2010
Übersicht Auffrischung Herausforderungen bei Datenintegrations-Prozessen Qualitätskontrolle von Datenintegrationsprozessen Abschließende Bemerkung
Data Warehouse www Auswertungsschicht Reporting, OLAP DWH Datenhaltungsschicht Integrationsschicht Transformationskomponente Ladekomponente ERP/CRM XML www Extraktionsschicht Extraktionskomponente
Daten durchlaufen eine ganze Reihe von Prozessschritten Data Warehouse - ETL Typische Transformationen Anpassung von Datentypen Eliminierung von Duplikaten Anpassung von Datenwerten Schlüsselanpassungen Umrechnung von Maßeinheiten Aggregationen Anreicherung von Daten … Daten durchlaufen eine ganze Reihe von Prozessschritten
Herausforderungen bei ETL-Prozessen Spezifikation Umsetzung DWH Falsche Zahlen im Report Meldung Fehlersuche
Herausforderungen bei ETL-Tests Batch-Loads Zeitverzug Systemseitige „Eingabe“ Viele Tests müssen systemseitig implementiert werden. Einzelne Transaktionen müssen aufwändig zurückverfolgt werden. Hohes anwachsendes Datenvolumen Menge der Testdaten steigt Anzahl der Testszenarien In DWS sollen alle möglichen Sichten möglich sein. Traditionelle Test-Methoden auf OLTP ausgelegt Der durch die „Batch-Runs“ bedingte Zeitverzug, bis eine gewünschte Information vom System mitgeteilt wird, kann zu Problemen führen. Da das Meiste im Back-End-Bereich stattfindet, müssen einzelne Transaktionen aufwändig zurückverfolgt werden. Gleichzeitig erhöht sich die Zeitdauer von Tests, die mit großen Daten-volumen ausgeführt werden müssen.
Teststrategien für ETL-Prozesse Datenvollständigkeit Tupelvergleich, Boundary-Testing, ... Datentransformation „stare and compare“, Datenfluss-Validierung, … Performance + Skalierung „Break your system“, „performance modeling“, … Integrationstests Schnittstellen, Ablaufsteuerung, Fehlerprotokolle User Acceptance Tests Regressionstests (Datenqualität)
Faktoren der Qualität Designqualität Ausführungsqualität Formulierung und Erfassung von Anforderungen und Spezifikationen Einhaltung der festgelegten Spezifikation
Faktoren der Qualität Designqualität stellt höchste erreichbare Grenze für die Qualität der Daten dar Ausführungsqualität drückt Erreichungsgrad der Designqualität aus Gesamtqualität kann durch mangelnde Design- oder Ausführungsqualität negativ beeinflusst werden
Messung der Ausführungsqualität Datenpool www Extraktions-komponente Datenintegration Datenbereitstellung Transformationskomponente Data Warehouse Ladekomponente M Datenpool Prozess-schritt Natürliche + Künstliche Datenpools
Messung der Ausführungsqualität Grundgedanken: Messung festgelegter Kennzahlen an den Datenpools Soll-Ist-Vergleich während des gesamten Prozessverlaufs Überprüfung der Wirkung von Änderungen an den einzelnen Prozessschritten.
Messung der Ausführungsqualität Zeitverzug Systemseitige „Eingabe“ Systemseitige Testimplementierung Aufwändige Zurückverfolgung Hohes Datenvolumen anwachsendes Datenvolumen Hohe Anforderungen an die Testszenarien/ Testdaten Abgrenzung von einzelnen Datenprodukten
Abgrenzung von Datenprodukten Darstellung über „Views“ Einzelner Datensatz Datensatzgruppe Komplette Tabelle „Alle Produkte der Kategorie Non-Food am 02.10.2010“ „Alle Daten zu Artikelnr 5674846“
Datenprodukte im Prozessverlauf Datenintegration Datenbereitstellung Datenpool Trans-formationskompo-nente Lade-komponente Datenpool Extraktions-komponente Datenpool Datenpool A A* A** A*** B Data Warehouse Vollständigkeit Redundanzfreiheit Zeitbezug Schlüsseleindeutigkeit ….
Sammlung der Messwerte Relation Messpunkt Q_Voll Q_Ref Q_Korr Q_Schl Q_Zeit Zeit Datenprodukt A Quelle 80% 70% 65% .. 15:00 Extraktion 15:02 Transform. 1 100% 15:10 Transform. 2 95% 15:20 Laden 90% 15:25 Datenprodukt B
Auswertung der Messungen Kontrolle einzelner Prozessschritte während der Entwicklung Schneller Vergleich von unterschiedlichen Prozessversionen
Auswertung der Messungen Verhalten einzelner Prozessschritte in verschiedenen Szenarien Unterstützung von Regressionstests
Auswertung der Messungen Auswertungen Zeitverlauf Identifizierung von Änderungsbedarf (proaktiv) Identifizierung von „überflüssigen“ Transformationen
Herausforderungen des Ansatzes Schaffung künstlicher Datenpools Definition geeigneter Datenprodukte Definition der Datenprodukte entlang des Prozessverlaufes Stetige Anpassung aller Datenprodukte Interpretation der Messergebnisse
Fragen? Anregungen?