Mit BI.Quality habe ich vor einiger Zeit ein Tool entwickelt, das die Datenqualität während und nach der DWH-Bewirtschaftung automatisiert und sehr zuverlässig absichert. Manuelle Aufwände werden minimiert. Der Anwender spart massiv Arbeitszeit und Betriebskosten.
Von der grundsätzlichen Funktionsweise her hat sich das Tool bewährt. Bei der Nutzerfreundlichkeit gab es hingegen noch einiges an Verbesserungsmöglichkeiten. Aus diesem Grund habe ich BI.Quality einem umfangreichen Redesign unterzogen, von dem ich euch in dieser dreiteiligen Blog-Serie berichten möchte. Zum Einstieg werde ich noch einmal die wichtigsten Funktionen zusammenfassen.
BI.Quality: Qualitätsprüfung mit Vergleichswerten
Basis des Werkzeugs sind konfigurierbare Abfragen und Messungen, die zu definierten Zeitpunkten automatisch durchgeführt werden. Hierbei wird unterschieden in:
- Fixwert-Messungen: Vergleich eines Abfrageergebnisses gegen einen fixen Erfahrungswert
- Vergleichsmessungen: Vergleich zweier Messergebnisse
- Statische Abfragen: Auslesen von 3rd-Party-Logging-Tabellen, Fehlerprotokollen etc.
Die Messergebnisse werden mittels definierter Schwellenwerte als kritisch, moderat oder informativ eingeordnet. Dabei erfolgt die Pflege der Abfragen, Messungen und Schwellenwerte über einen Konfigurator:
Für die Darstellung der Ergebnisse steht einerseits ein „High-Severity“-Dashboard zur Verfügung:
Andererseits können über einen Detail-Report weitere Informationen zu den einzelnen Messungen eingesehen werden:
Alles neu: Vereinfachung der Pflege
Steigen wir nun in die Neuerungen ein. Zunächst habe ich die Pflege wesentlich einfacher und effizienter gestaltet. Die Anzahl der Pflegemasken wurde um fast 50% reduziert. Auch das Datenbankmodell ist verschlankt. Ferner hat sich die separate Pflege und Gruppierung von Fixwertmessungen, Vergleichsmessungen und statischen Abfragen als unpraktisch erwiesen. Daher lässt sich nun die Art des jeweiligen Messpunktes als Attribut pflegen:
Die Gruppierung von Messpunkten habe ich entsprechend angepasst: Es gibt jetzt nur noch eine Gruppe, die jegliche Art von Messpunkten beinhalten kann. Diese Änderungen steigern zum einen die Anwenderfreundlichkeit, da die Messungen effizienter gepflegt werden können. Zum anderen hat sich aber auch die Struktur der Datenbank wie auch der SSIS-Lösung, die die Messungen durchführt, vereinfacht.
Eher im Hintergrund spielt sich eine weitere Optimierung ab: Sowohl das Speichern der Zwischenergebnisse als auch deren Bewertung erfolgt im Speicher statt in einer Zwischentabelle. Dies hat nicht nur positive Auswirkungen auf die Performance. Es kommt nun auch zu keinen Kollisionen mehr, wenn ein Anwender eine Gruppe manuell startet, während bereits eine andere Instanz des Paketes läuft, die zum Beispiel per Job gestartet wurde.
Vergleich von Matrix und Datasets
Neben der Vereinfachung der Pflege habe ich auch den Funktionsumfang erweitert. So sind bei der Abfrage neue Ergebnistypen hinzugekommen. Neben Einzelergebnissen und Ein-Wert-Listen sind nun auch Ergebnismatrixen und Einzelzeilen zulässig:
Die Ergebnismatrix dient vor allem der zellenweisen Gegenüberstellung zweier Ergebnissets. Indes kann ein Einzelzeilenergebnis beispielsweise zum zeilenweisen Vergleich einer Matrix gegen Durchschnittswerte ihrer Spalten verwendet werden.
Der Bedarf nach einem Matrixvergleich hat sich in einem konkreten Projekt gezeigt. Hier mussten unter anderem bestimmte Kennzahlen für jeden Tag eines Jahres in einer Umgebung mit den entsprechenden Werten einer anderen Umgebung verglichen werden. Diese mussten stets zu 100% übereinstimmen. Zudem galt es, wochenweise Werte des aktuellen Jahres mit den entsprechenden Werten des Vorjahres zu vergleichen.
Ein weiteres Feature, das durch besagtes Projekt angestoßen wurde, ist das Archivieren bzw. Aufräumen der Messergebnisse. In diesem Kontext werden Archivtabellen definiert und ein weiteres Paket erstellt. Das Paket verschiebt Messergebnisse nach einer definierten Zeitspanne in die entsprechende Archivtabelle oder löscht diese endgültig aus der Archivtabelle:
​Im nächsten Teil dieser Serie werde ich die Ergebnismatrix detaillierter beschreiben.
Kommentare (0)