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 … Weiterlesen

Design Pattern // Architektur eines ETL-Prozesses

Dieser Artikel gehört zu der Artikelserie Datenqualität in einem ETL-Prozess, in der ein Design Pattern vorgestellt wird, das extrahierte Daten prüft, behandelt und schlechte Daten von der weiteren Verarbeitung ausschließt. Ein wesentlicher Baustein des Design-Patterns ist die Aufteilung des ETL-Prozesses in kleine in sich geschlossene Arbeitspakete. Dieser Artikel stellt die Architektur eines ETL-Prozesses vor, die eine sichere Behandlung schlechter Daten ermöglicht und den Entwickler maximal bei der Entwicklung unterstützt.

Weiterlesen

Datenqualität // Grundlagen der Typ-Konvertierung mit T-SQL

Dieser Artikel gehört zu der Artikelserie Datenqualität in einem ETL-Prozess, in der ein Design Pattern vorgestellt wird, das die extrahierte Daten prüft, behandelt und schlechte Daten von der weiteren Verarbeitung ausschließt. SQL Server stellt mit den T-SQL Funktionen CAST, CONVERT beziehungsweise TRY_CONVERT und TRY_CAST Funktionen für die Typ-Konvertierung zur Verfügung. Die Syntax der Funktionen CONVERT … Weiterlesen

Design Pattern // Sichere Typ-Konvertierung mit T-SQL

Sind in einem ETL-Prozess Daten aus Text-Dateien zu extrahieren, ist grundsätzlich Vorsicht geboten. Text-Dateien definieren an sich bereits eine Schnittstelle zu einem Vorsystem. Zwischen der die Daten liefernden Stelle und dem ETL-Prozess muss es daher eine Vereinbarung geben, welche Daten in welchem Format geliefert werden, in welchem Format sie bereitgestellt werden und welche Wertebereiche zulässig … Weiterlesen

Design Pattern // Protokollierung eines ETL-Prozesses mit SQL

Wie kann man beurteilen, ob ein ETL-Prozess erfolgreich gewesen ist? Alleine der Umstand, dass ein Prozess nicht mit einer Exception abgebrochen wurde, bedeutet nicht zwangsläufig, dass der Prozess auch das gemacht hat, was man von ihm erwartet hat. Eine les- und auswertbare Protokollierung eines ETL-Prozesses kann hier helfen. Sie ermöglicht eine sichere Beurteilung des Erfolgs eines ETL-Prozesses.

Dieser Artikel stellt eine Vorgehensweise für die Protokollierung eines ETL-Prozesses auf der Basis von gespeicherten Prozeduren vor, die Protokolldatensätze in Protokolltabellen einfügen und aktualisieren. Ziel ist es, ein les- und auswertbares Protokoll zu erstellen, das Antworten auf wesentliche Fragen zu der Ausführung eines ETL-Prozesses bereit hält:

  • Wie lange dauert der ETL-Prozess insgesamt?
  • Wie lange dauert die Ausführung einer gespeicherten Prozedur, eines SSIS-Paketes oder einer anderen Komponente?
  • Wie lange dauert die Ausführung eines konkreten SQL-Statements?
  • Wie viele Datensätze wurden durch ein SQL-Statement bearbeitet?

Natürlich wollen wir auch wissen, ob der Prozess als Ganzes, eine Prozedur oder auch ein konkretes SQL-Statement erfolgreich ausgeführt wurden.

Die Vorgehensweise ist eigentlich gerade heraus: Zu Beginn jeder Aktion wird ein Protokolldatensatz geschrieben und nach der Beendigung der Aktion wird dieser entweder mit dem Status Erfolg oder Misserfolg und gegebenenfalls auch noch anderen hilfreichen Informationen aktualisiert. That’s it! Ein bisschen mehr darf es dann aber doch noch sein…

Weiterlesen