Generische Messung und Monitoring der Datenqualität in einem Event-basierten Data Warehouse Stand: 31.10.2012 Projektdefinition: Projektziele: Projektlaufzeit: 27.04.2012 – 31.10.2012 Projektteam: Anke Niemann Stefan Zeiske Das Ziel des Projektes ist die Erstellung eines Konzeptes um für das event-basierte Data Warehouse von MyHammer eine Sicherstellung und permanente Messung der Datenqualität zu gewährleisten. Fehler aus den Vorsystem sollen dabei zeitnah erkannt und gemeldet werden. Die Prototypische Umsetzung erfolgte in einer Testumgebung bei der sowohl die Daten auf einen bestimmten Zeitraum als auch die vorkommende Anzahl an Events beschränkt wurde. 1Möglichkeiten zur Messung der Datenqualität Für die Messung der Datenqualität in den Vorsystemen gibt es grundlegend zwei verschiedene Möglichkeiten: Umfangreiches Berichtswesen Data Profiling Es werden verschiedene Kennzahlen ausgewählt, um die Aktualität, die Relevanz, die Konsistenz, die Zuverlässigkeit, die Korrektheit und die Vollständigkeit der Daten zu beschreiben. Viele der möglichen Kennzahlen basieren auf UserFeedback. Beim Data Profiling handelt es sich um einen automatisierten Prozess mit dem vorhandene Datenbestände hinsichtlich Inhalte, Strukturen und Qualität analysiert werden. Beim Data Profiling werden Methoden der Attributsanalyse, der Datensatzanalyse und der Tabellenanalyse unterschieden. Da ein tägliches oder wöchentliches Monitoring der Datenqualität mit Hilfe eines Berichtwesens sehr aufwändig ist, wurde für das Projekt das Data Profiling bevorzugt. 3Data Profiling • 16 Anbieter • Kriterien: Kostenfreie/kostenpflichtige Versionen Detaillierte Übersicht • 4 Anbieter • Kriterien: Betriebsvoraussetzungen, Lizenzmodelle, Funktionsumfang, Dokumentation MS SQL Server 2008 Test • 2 Anbieter + MS SQL Server 2008 • Kriterien: Funktionsumfang, Erweiterbarkeit, Automatisierung, Ergebnisdarstellung, Benutzbarkeit Der MS SQL Server 2008 bietet acht verschiedene Data Profiling Funktionen. Einige können durch die Veränderung von Parametern z.B. Schwellenwerte angepasst werden. Data Profiling Ebene Insgesamt wurden für die prototypische Umsetzung 115 Analysen realisiert, deren Ausführ-ung mit dem Tool 30 – 45 Minuten dauert. Zum Projektbeginn wurde eine Make-or-Buy-Analyse erstellt, um zu entscheiden, ob das Data Profiling der Vorsysteme durch selbst erstellte SQL-Abfragen oder durch ein Data Profiling Tool erfolgen soll. Make SQL-Abfragen Buy Data Profiling Tool Vorteile • individuelle Auswahl der Data Profiling Verfahren • Wiederholbarkeit • schnell einsatzbereit • Unterstützung weiterer DQM Schritte z.B. Data Cleansing, DQ Monitoring Nachteile • hoher Aufwand bei der Umsetzung • sehr eingeschränkte Wiederholbarkeit • unzureichende Darstellungsmöglichkeiten der Ergebnisse • eingeschränkte Auswahl an Data Profiling Verfahren • ggf. Anschaffungs- und Betriebskosten Als Ergebnis wurde festgelegt, dass ein Data Profiling Tool eingesetzt wird um einen grundlegenden Überblick über die Datenstruktur und -qualität zu erhalten. Für die Überprüfung von Business Rules sollen außerdem eigene SQL-Abfragen umgesetzt werden. 4Monitoring des Event Buffers Die Auswahl des Data Profiling Tools verlief in den folgenden drei Schritten: Grobe Marktübersicht 2Make-or-Buy-Analyse Attributsanalyse Funktionen Column Null Ratio Profile Request Column Statistics Profile Request Column Value Distribution Profile Request Column Patter Profile Request Column Length Distribution Profile Request Datensatzanalyse Candidate Key Profile Request Functional Dependency Profile Request Tabellenanalyse Inclusion Profile Request Bei der Auswertung der Ergebnisse konnten vor allem folgende Mängel in der Datenstruktur identifiziert werden: • besonders hohe Anzahl an Nullwerten • besonders hohe Anzahl eines Werte innerhalb eines Attributs • ungültige Werte • Datenlänge eines Attributs wird nicht ausgenutzt Zur Überprüfung der Datenqualität des Event Buffers wurde eine Vielzahl an Business Rules aufgestellt. Diese Geschäftsregeln bilden die Grundlage für das erstellte Monitoring System. Bei dem erstellten Prototyp werden die Daten anhand von 18 Geschäftsregeln auf ihre Gültigkeit überprüft. Auftretende Fehlerfälle werden in über einen ETL-Prozess in eine Error Event Tabelle überführt. Die Umsetzung erfolgte als Integration Service für SQL Server 2008 R2 Die Auswertung des Testsystems ergab: 44.892 Fehler bei 526.024 ausgewerteten Events Fehlerquote von 8.5% Des Weiteren wurde festgestellt, dass • abweichende Profile- oder UserIDs von vom Registerungsevent vorhanden sind • die FollowContractID in loggingSubscriptionCancellation bei einer Änderungskündigung nicht immer gefüllt ist • die OrderID für Verträge vor der BFS Umstellung nicht vorhanden ist. Ausblick: Um einen umfassenden Einblick über die Datenqualität des DWH zu gewährleisten muss das Monitoring System sowohl im Umfang als auch in der Qualität der Prüfungen erweitert werden. Als zukünftige Erweiterungen wäre ein Scoring Mechanismus für Datenqualität und die Verbindung der Error Event Daten mit den Fact Tabellen über eine Audit Dimension empfehlenswert. Projektergebnisse: Die Projektziele sind weitestgehend umgesetzt worden. Es wurden die verschiedenen Möglichkeiten für die Messung der Datenqualität untersucht. Als prototypische Umsetzung wurde ein Data Profiling in der Testumgebung mit dem MS SQL Server 2008 durchgeführt und eine Error Event Table mit zugehörigem ETL-Prozess in Anlehnung an den Data Quality Process nach Kimball implementiert. Dabei stellte sich heraus, dass das Data Profiling eine sehr gute Möglichkeit ist um einen Überblick über die Datenstruktur und grundlegende Qualitätsmängel zu erhalten. Um tiefergehende Fehler zu erkennen, ist jedoch eine detaillierte Aufnahme von Erwartungswerten für die Datenstruktur notwendig. Für die Überprüfung komplexer Geschäftsregeln ist das Data Profiling mit dem SQL Server 2008 sogar nur mäßig geeignet. Die Implementierung der Error Event Table bietet hierbei jedoch eine sehr gute Ergänzung. Da es das Erkennen von Verstößen gegen die Geschäftsregeln zeitnah gewährleistet und die Daten gleichzeitig mit Metadaten zu den Fehlerinformationen anreichert.