Datenqualität in einem ETL-Prozess

Inhalt

Überblick

Ü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:

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

Sichere Typ-Konvertierung