Inhalt
Überblick
- Überblick
- Prüfung der technischen Datenqualität
- Prüfung der fachlichen Datenqualität
- Protokollierung aller gefundener Fehler
- Markierung fehlerhafter gelieferter Daten
- Ausschluss von Datensätzen mit Datenfehlern von der weiteren Verarbeitung
Überblick
Es gibt zahlreiche gute Fachliteratur zu dem Thema Datenqualität. In der Regel wird das Thema eher theoretisch beschrieben, mit eindrucksvollen Beispielen und die Wichtigkeit mit Theorien belegt. Eine konkrete Anleitung jedoch, wie genau die Prüfung und Behandlung schlechter Daten in einem ETL-Prozess zu implementieren ist, habe ich allerdings noch nicht gefunden.
Hierbei gibt es im Wesentlichen zwei Aspekte, die zu berücksichtigen sind: Unter technischen Gesichtspunkten ist zunächst zu prüfen, ob die extrahierten Daten in die Datentypen des Zielsystems konvertiert werden können und möglichen Beschränkungen wie zum Beispiel Wertebereichen und Schreibweise entsprechen. Aus fachlicher Sicht geht es eher darum, die Vollständigkeit, Konsistenz und Aktualität der Daten sicherzustellen. Diese Eigenschaften werden oft auch unter dem Begriff Datenintegrität zusammengefasst.
In Anlehnung an diese Unterscheidung fasse ich diese beiden Aspekte unter den Begriffen Technische Datenqualität und Fachliche Datenqualität zusammen.
Die Prüfung der fachlichen und technischen Datenqualität stellt sicher, dass die gelieferten sicher verarbeitet und in das Zielsystem übernommen werden können. Technische und fachliche Fehler können beim Laden der verarbeiteten Daten in das Zielsystem zu einem Fehler und im schlimmsten Fall zu einem Abbruch des ETL-Prozesses führen. Ein ETL-Prozess sollte so entwickelt sein, dass technische und fachliche Datenfehler proaktiv identifiziert, protokolliert und behandelt werden. Im Zweifel sind fehlerhafte Daten nicht in das Zielsystem zu übernehmen. Um einen solchen zu entwickeln sind die folgenden Aufgaben zu erledigen:
- Prüfung der technischen Datenqualität
- Prüfung der fachlichen Datenqualität
- Protokollierung aller gefundener Fehler
- Markierung fehlerhafter gelieferter Daten
- Ausschluss von Datensätzen mit Datenfehlern von der weiteren Verarbeitung
Mit dieser Artikelserie werde ich ein Design Pattern für einen ETL-Prozess vorstellen, in dem die genannten Aufgaben mit einem vertretbarem Aufwand erledigt werden können. Die technische Grundlagen sind in dem Artikel Design Pattern // Architektur eines ETL-Prozesses beschrieben. Die konkrete Umsetzung wird in einem separaten Artikel (upcoming) beschrieben.
Prüfung der technischen Datenqualität
Bei der Prüfung der technischen Datenqualität geht es darum sicherzustellen, dass die zu verarbeitenden Daten in die jeweiligen Zieldatentypen konvertiert werden können, in denen diese benötigt werden. Dieses ist insbesondere dann notwendig, wenn die zu verarbeitenden Daten – untypisiert – aus einer Text-Datei (CSV, XML, JSON) oder sogar EXCEL) gelesen werden müssen. Voraussetzung ist eine sichere Typ-Konvertierung, die nicht zu einem Abbruch des ETL-Prozesses führt. Gleichzeitig soll das Ergebnis der Konvertierung eine proaktive Identifikation von Problemen bei der Konvertierung und damit mit den Daten ermöglichen.
Die Grundlagen der sicheren Typ-Konvertierung sind in den TRY_CONVERT-Artikeln beschrieben. Die Prüfung der technischen Datenqualität kann durch einfache Abfragen auf den konvertierten Daten erfolgen. Im Wesentlichen wird auf jeder Spalte einer, die einen konvertierten Wert enthält, eine WHERE-Klauseln ausgeführt. Liefern die WHERE-Klauseln Daten zurück, handelt es sich um Konvertierungsfehler. Alle gefunden Fehler sind in einer Fehlertabelle zu protokollieren.
Prüfung der fachlichen Datenqualität
Die Prüfung der fachlichen Datenqualität ist grundsätzlich eine komplexe Aufgabe. Aber wie so oft, kann bereits mit einfachen Maßnahmen die Qualität erheblich verbessert werden. Eine erste Prüfung kann auf den extrahierten Daten durchgeführt werden. Weitere Prüfungen sind sind nach der Transformation der Daten durchzuführen.
Auch hier kann die bereits oben beschrieben grundlegende Vorgehensweise – Identifikation über WHERE-Klauseln und Protokollierung von Datenfehlern – angewendet werden.
Verwandte Artikel
Grundlagen
- Design Pattern // Architektur eines ETL-Prozesses
- Datenqualität in einem ETL-Prozess
- Datenqualität // Grundlagen der Typ-Konvertierung mit T-SQL
Sichere Typ-Konvertierung
- Datenqualität // Konvertierung nach bigint, int, smallint, tinyint
- Datenqualität // Konvertierung nach decimal oder numeric
- Datenqualität // Konvertierung nach money, smallmoney
- Datenqualität // Konvertierung nach float, real
- Datenqualität // Konvertierung nach bit
- Datenqualität // Konvertierung nach date, datetime, datetime2, time