Data Profiling – Teil 2 – datenfabrik.profiler

Der SSIS Data Profiling Task bietet sehr gute Möglichkeiten Daten intensiv zu analysieren. Leider ist dies in der aktuellen Version nur für Daten die bereits im SQL Server gespeichert worden sind möglich und verhindert damit eigentlich die Leistungsfähigkeit der Integration Services innerhalb eines Data Profiling Projektes erfolgreich einzusetzen. Die Ergebnisse werden in einer XML Datei zwischengespeichert und können später mit einem externen Tool analysiert werden, eine direkte Information oder auch Reaktion auf Veränderung innerhalb der Daten ist über den Data Profiling Task leider nicht ohne weiteres möglich. Mit dem datenfabrik.profiler schließen wir die Lücke zwischen den Integration Services als ETL Plattform, einer durchgehenden Analyse und einem durchgehenden Monitoring von Daten aus den unterschiedlichsten Datenquellen.

Der datenfabrik.profiler besteht – wie der Data Profiling Task – aus zwei Komponenten, zum einen einer SSIS Komponente, mit der die Daten analysiert werden und zum anderen einem Management Tool, mit dem die Analysen später ausgewertet werden können. Über das Management Tool können zusätzlich weitere Konfigurationen des datenfabrik.profiler vorgenommen werden.

 

SNAGHTML7763337

Einer der großen Vorteile des datenfabrik.profiler ist es, dass die Komponente nicht als Task innerhalb der Ablaufsteuerung zur Verfügung steht, sondern als Komponente innerhalb des Datenflusses. Somit besteht nicht nur die Möglichkeit Daten aus dem SQL Server zu analysieren, sondern aus jeder anderen von den SSIS unterstützen Datenquellen wie z.B. Text-Files, CSV oder Oracle. Natürlich können somit auch Daten, die mit Komponenten von Drittanbietern wie Attunity CDC for SSIS oder Theobald Software Xtract IS geladen und mit dem datenfabrik.profiler analysiert und durchgehend überwacht werden. Somit kann mit den Microsoft SQL Server Integration Services auch ein durchgehendes Data Profiling und Monitoring für IBM iSeries, OpenVMS oder SAP aufgesetzt werden.

Die vom datenfabrik.profiler erstellten Analysen werden in einem zentralen Repository in Projekten gespeichert. Die Idee dahinter ist, ein Repository für ein Datenintegrationsprojekt anzulegen und die verschiedenen zu analysierenden und später zu überwachenden Tabellen in einzelne Projekten zu speichern.

 

SNAGHTML77a2699

 

Der datenfabrik.profiler wird vorerst mit 9 unterschiedlichen Regeln ausgeliefert, von uns aber im Laufe der Beta-Phase um weitere Regeln ergänzt.

Folgende Regeln kann ich zum derzeitigen Zeitpunkt bereits ankündigen:

  • Dictionary
  • NULL Values
  • Key Candidate Profile
  • Length Distribution
  • Pattern Analysis
  • Column Values
  • Regular Expressions
  • Number Analysis
  • Doublemetaphone Frequency Table
  • Weekday *
  • Value Range *
  • Time Analysis *
  • String Analysis *
  • Spell Checker *
  • Date Mask *
  • Data Type Conversion *

 

Regeln mit einem * sind nicht im Standardumfang der Komponente, werden von uns aber bereits während der Beta-Phase frei zum Download angeboten. Einige der Regeln wie z.B. Dictionary oder Regular Expressions können zusätzlich durch den Benutzer erweitert werden.

 

 

SNAGHTML782b7ff

Auch hier wird der datenfabrik.profiler mit einigen Standard Daten ausgeliefert.

Zu allen Regeln existieren umfangreiche Statistiken mit verschiedenen Charts zur Visualisierung der Ergebnisse. Die Standardanalysen können darüber hinaus noch um eigene Reports erweitert werden, die speziell für einzelne Bereiche innerhalb eines Projektes erstellt werden können. Näher Informationen dazu folgen in einem späteren Blogeintrag.

Um die Ergebnisse/Erkenntnisse des Profiling in ein sauberes Monitoring zu überführenexistieren innerhalb des datenfabrik.profiler Alerts. Hierüber können speziell auf Regel und Spaltenebene Werte definiert werden, die nicht “verletzt” werden dürfen, also z.B. unter- oder überschritten werden. Ein Alert kann den Status Error, Warning oder Informationen haben und wird entweder in das Management Log geschrieben, per Email versendet oder an die SSIS Komponente weitergeleitet. Letzteres hat beim Status Error den Effekt, dass die Komponente einen Fehler erzeugt und damit der Ladeprozess abgebrochen wird. Auch hierzu folgen in einem anderen Teil weitere Informationen.