Release Notes Data Quality Server 2.20

Release Notes Data Quality Server 2.20

Neue Funktionen

Vererbung der Datenstrukturen von der zentralen Datenstruktur auf die Workflows (Basic Record Structure)

Datensatzbasierte Operationen und Tabellenbasierter Workflow

Data Quality Server bietet ab der Version 2.20 die Möglichkeit, zentrale Datenstrukturen für Workflows zu hinterlegen und zu verwenden.

Diese können bei der Anlage von Workflows anstatt der individuellen Felddefinitionen verwendet werden und ermöglichen es, in komplexeren DQ-Server Szenarien mit einheitlichen Felddefinitionen zu arbeiten.

Änderungen innerhalb dieser Strukturen können somit automatisch in eine ganze Gruppe von Workflows übernommen werden.

Dazu wurde auch der Editor für die Feldstrukturen der Workflows überarbeitet. Die zentralen Datenstrukturen können dabei durch individuelle, pro Workflow zu definierende Felder ergänzt werden.

Wird eine Aktivierung ausgelöst, wird ein Prozess gestartet, der anzeigt, welche Workflow-Objekte die Struktur vererbt haben.


In einem dann gestarteten Anpassungsprozess wird die geänderte Struktur im Workflow übernommen.

  • Die Datenstruktur im Workflow errechnet sich dabei neu aus der vererbten Struktur und aus den fixen Feldern
  • Die Activities werden darauf untersucht, ob Felder zum Einsatz kommen, die nicht in der neuen Struktur vorhanden sind:
    • Feldnamen in den Activities
    • Feldnamen in Scripts (mit "record["Feldname"]") sollen erkannt werden.

Entspechende Warnmeldungen im Editierprozess schützen vor ungewollten Vererbungen/Änderungen.
Tritt bei der Strukturprüfung einer dieser Fehler auf:

  • Die Feldstruktur ist nicht valide (weil doppelte Felder vorhanden)
  • Es werden Feldnamen verwendet, die nicht in der Datenstruktur enthalten sind (das wären meist Umbenennungen), öffnet sich ein Toolbox-Fenster, das anzeigt, bei welchen Workflows eine automatische Anpassung nicht möglich war und bei welchen die Änderung erfolgreich war.

Durch Klick auf den fehlerhaften Workflow wird der Workflow geöffnet und die Struktur kann im Editiermodus manuell anpasst werden und / oder der Workflow verändert werden.


In der Oberfläche können weiterhin alle nicht vorhandenen Feldnamen angesehen und dann Entscheidungen getroffen werden:

  • Feld umbenennen (durch Auswahl eines neuen Feldnamens)
  • Feld als neues Feld in die Feldstruktur übernehmen
  • den Fehler ignorieren

Der grafische Struktureditor unterstützt alle Datenstrukturelemente einer Datenbank (Feldtypen, Feldgrößen, Mussfeld etc).

Datenstrukturen sind nach dem Öffnen zunächst schreibgeschützt, der Editermodus muss aktiv eingeschaltet werden.

Strukturen kann man dabei:

  • anlegen
  • löschen
  • kopieren

Die Datenstrukturen können auch in andere Objekte wie Workflows kopiert werden.

Zusammenfassung

  • Eine zentrale Datenstruktur kann geändert werden und die Änderungen werden in die Workflows übernommen.
  • Die vorgenommenen Änderungen an einem Workflow werden in einem Protokoll festgehalten.
  • Im Aktualisierungsprozess können Fehler direkt behoben werden.
  • Der Aktualisierungsprozess enthält transparent die Mitteilung, welche Objekte / Workflows verändert wurden.
  • Nach Übernahme der Struktur ist sichergestellt, dass die Workflows keine "defekten" Strukturen mehr enthalten.


Python Unterstützung im Data Quality Server

Workflow Python Script Activity

Ab der Version 2.20 unterstützt der Data Quality Server die häufig genutzte Script-Sprache Python für Scripting innerhalb der Workflows als auch für die Erstellung von Plugins.

Python muss in der Version 3.8 installiert sein.

Python Script Activity

Grundvoraussetzung

Damit die Activity optimal genutzt werden kann, ist ein solides Grundwissen bzgl. Python empfehlenswert. Es ist hierbei vor allem neben dem Wissen vorhandener Funktionen/Bibliotheken ebenso wichtig zu wissen, wie der Code eingerückt werden muss, damit keine Syntaxfehler entstehen.

Falls der Aufbau von Python Code noch nicht bekannt ist, verweisen wir auf https://py-tutorial-de.readthedocs.io/de/python-3.3/, um sich etwas einzulesen und die folgenden Aufrufe besser zu verstehen.

Grundsätzlich funktioniert die Activity wie die restlichen Workflow Activities.

Es kommt ein Datensatz bzw. eine komplette Ergebnistabelle als Input rein, welche anschließend über Python Code modifiziert werden kann.

Die Python Activity greift im Kern auf dieselben Objekte und Methoden zu, wie sie bereits in der C#-Activity aufrufbar sind.

Im nachfolgenden Abschnitt wird nochmals genauer auf die einzelnen Objekte eingegangen.

Workflow Editor Schnittstelle

Um Datensätze und Tabellen innerhalb des Workflows zu modifizieren, bietet der Python Editor den Zugriff auf die Objekte des Workflow Designers.

Im kompletten Workflowprozess wird ausschließlich mit einem einzelnen Datensatz (Record) bzw. kompletten Tabellen von Datensätzen (Ergebnistabellen) gearbeitet.

Im Python Editor stehen die nachfolgenden Zugriffsobjekte zur Verfügung:

  • record
  • logger
  • access
  • context

Das record Objekt ist vom Typ Dictionary<string, string> und beinhaltet Feldnamen sowie deren Werte.

                Beispiel:       Key: Vorname

                                   Value: Max

Mit Hilfe des access Objekts können Ergebnistabellen erstellt und modifiziert werden. Diese Tabellen beinhalten wiederum einzelne Datensätze.

Die Objekte werden von CLR nach Python konvertiert und können dort wie gewohnt verwendet werden.

Mit dem logger Objekt können beliebige Lognachrichten geschrieben werden.

Das context Objekt beinhaltet alle übergeordneten Parent Datensätze, auf welche zugegriffen werden kann, sofern welche vorhanden sind.

Skriptbeispiel
class PythonScriptExecute:
 def __init__(self, record, logger, access, context):
# ANFANG: Bereich des Nutzers
 
## Code, welcher um zwei Stellen eingerückt ist, wird im Klassenkonstruktor aufgerufen.
## record und access sind globale Variablen, mit welchen die Workflowdaten modifiziert werden können.
## record: Beinhaltet den Eingabedatensatz.
## access: Beinhaltet und modifiziert die Ergebnistabelle(n).
## Scope des Klassenkonstruktors

  ## Importieren der Math Library und anschließender Verwendung. (2 Leerzeichen; Scope: Constructor)
  from math import sqrt
  sqrt_number = sqrt(42)

  ## Modifiziert ein Feld im Datensatz. (2 Leerzeichen; Scope: Constructor)
  record["Name"] = "Freeman"

  ## Fügt mit Hilfe der unten definierten Funktion ein neues Feld zum Datensatz hinzu. (2 Leerzeichen; Scope: Constructor)
  self.AddField("City", "17")

  ## Logmeldungen schreiben (Debug, Info, Warn, Error). (2 Leerzeichen; Scope: Constructor)
  logger.Warn("User", "Example Python Script Activity", 0, "Executing custom python script activity.");

  ## Erzeuge eine leere Ergebnistabelle. (2 Leerzeichen; Scope: Constructor)
  resultTable = ResultTable();
  ## Füge einen neuen Datensatz zur Ergebnistabelle hinzu. (2 Leerzeichen; Scope: Constructor)
  resultTable.AddRecord(WorkflowRecord(True, ["Name", "City"], [record["Name"], record["City"]]));
  ## Füge die neue Ergebnistabelle dem globalen Accessobjekt hinzu und definiere einen beliebigen Namen. (2 Leerzeichen; Scope: Constructor)
  access.Add("MyResultTableName", resultTable);

 ## Eine Beispielmethode, die ein neues Feld zum Datensatz hinzufügt. (1 Leerzeichen; Scope: Class)
 def AddField(self, fieldName, fieldValue):
  # Zuweißung der fieldValue in das record-Field. (2 Leerzeichen; Scope: Method 'AddField')
  record[fieldName] = fieldValue

# ENDE: Bereich des Nutzers


Speicheroptimierung der Intradublettensuche

Für den Data Qaulity Server 2.20 wurde der Speicherbedarf der Intraduplikatssuche weiter gesenkt, indem die interne Datenhaltung optimiert wurde.

Damit benötigt der Data Quality Sever während des Dublettenabgleiches ca. 30% weniger Hauptspeicher.


ADO.Net Datenziel Struktur über Datenbankverbindung definieren

Jedes ADO.Net Datenziel besitzt nun die Option, die Struktur einer Tabelle von einer Datenbank abzurufen.

So können Datenstrukturen einfacher von bestehenden Tabellen übernommen werden und anhängende Objekte wie Indizes und Trigger, die direkt auf der Datenbank angelegt wurden, bleiben immer erhalten.

Funktionen:

  • Durch eine Option ist einstellbar, ob die Struktur selbstdefiniert ist oder von der Datenbank bezogen wird.
  • Es ist nun möglich (wie bei einer ADO.Net Datenquelle) eine Liste der Tabellen und der dazugehörigen Felder abzurufen.
  • Die Bearbeitung der Felder bzw der Struktur ist dabei gesperrt.
  • Nach dem erstmaligen Speichern des Datenziels kann die Struktur über einen "Synchronisieren"-Button aktualisiert werden.
  • Die Synchronisation oder Anlage des Datenziels wirkt sich nicht auf die bereits enthaltenen Daten in der Tabelle aus.

Bei Übernahme einer Struktur wird der Tabellenname explizit abgefragt.
Wird die Struktur aktualisiert, bleibt der Tabellenname erhalten.

Zur erleichterten Einstellung des Datenziels sind nun drei zusätzliche Reiter im Bearbeitungsfenster verfügbar:
1. Verbindungseinstellungen
2. Datenstrukur
3. Berechtigungen


Nutzung von KI-Technologien

Der Data Quality Server ab der Version 2.20 bietet KI-unterstützte Lösungen, um innerhalb des Data Quality Servers automatisierte Workflows umzusetzen.

FirstClass

FirstClass ist ein Python Workflow Plugin für den Omikron Data Quality Server. Er wird zur automatisierten Klassifizierung von Material- und Produktstamm-datensätzen nach dem ECLASS Standard verwendet.

Einsatz des FirstClass-Plugins

Um erfolgreiche Prognosen zu ermöglichen, muss FirstClass zuerst anhand bereits vorhandener Klassifizierungen Parameter für die korrekte Einordnung von Produkt- oder Materialdaten lernen.

Dabei wird ein Modell erstellt, welches anschließend zur automatisierten Klassenzuordnung von Materialkurztexten verwendet werden kann.

Die eingesetzte künstliche Intelligenz muss als Voraussetzung für einen erfolgreichen Einsatz erst einmal trainiert werden (manuelle Eingabe von Daten, bzw. Eingabe von Referenzdaten), um zu erkennen, innerhalb welcher Parameter die Aufgabe erfüllt bzw. umgesetzt werden kann.

Mit den gesammelten bzw. eingegebenen Daten kann dann ein Modell zur Umsetzung der Aufgabe erstellt werden und eine automatische Verarbeitung der Materialtexte zur Klasseneinordnung erfolgen.

FirstClass arbeitet hierzu mit zwei Phasen:

einer Trainingsphase und

einer Modellanwendungsphase.

Das Training liefert dabei am Ende ein konkretes Modell, das dann auf neue Eingangsobjekte (Material- und Prduktdaten) angewandt werden kann. Dies stellt den eigentlichen Umsetzungsworkflow dar.

Die Funktion kann sowohl als Datensatzbasierter Workflow als auch als Tabellenbasierter Workflow ausgeführt werden.

ClearSky

ClearSky ist ein Python Workflow Plugin für Omikron Data Quality Server zur Identifizierung von Dublettenpaaren in vorverarbeiteten Adressstammdaten-Listen unter dem Workflow "Benutzerdefinierte Python Erweiterung".

In vielen Fällen ist die ermittelte Wahrscheinlichkeit einer Dublette im Modul „Dublettenprüfung“ des Data Quality Servers schon so hoch, dass automatisiert beurteilt werden kann, ob bestimmte Paare Dubletten sind oder nicht sind.

Fälle mit einer Wahrscheinlichkeit unter einer definierten Schwelle werden jedoch als "unsicher" eingestuft und der Workflow steuert solche Fälle in den Clearing Monitor zur manuellen Bearbeitung aus.

Durch verschiedene Faktoren (Datenstruktur, Datenfehler etc.) kommen oft noch recht viele Daten zur Bearbeitung im Clearing Monitor an.

Datenpaare, die aus dem Data Quality Server ausgesteuert werden und eigentlich in den Clearing Monitor wandern sollten, werden von ClearSky erneut geprüft und bewertet.

ClearSky unterstützt dabei, gelabelte Dublettenzeilen in diesen Tabellen möglichst automatisiert weiter zu bereinigen.

Hierzu werden Zeilen, die potenzielle Dubletten enthalten, aber noch nicht als sicher eingestuft sind, unter Einsatz einer KI-Lösung zu Dublettengruppen gruppiert.

Entweder können die erkannten sicheren Dubletten nun weiter hochautomatisiert bereinigt werden (Datenrücklauf) oder den manuellen Aufwand im Clearing Monitor erheblich verringern.

ClearSky arbeit hierzu mit zwei Phasen:

einer Trainingsphase und

einer Modellanwendungsphase.

Das Training liefert am Ende ein konkretes Modell, das dann auf neue Eingangsobjekte (Dublettenpaare) angewandt werden kann. Dies stellt den eigentlichen Umsetzungsworkflow dar.

ClearSky kann sowohl als Datensatzbasierter Workflow als auch als Tabellenbasierter Workflow im Data Quality Server ausgeführt werden.


Neue Funktionen für Clearing Monitor

ClearingMonitor Verbindung

Weiterleiten von Fällen per Email

Über den neuen Button „Weiterleiten“ kann der Nutzer den aktuell aufgerufenen Fall direkt aus dem Bearbeitungsdialog an eine weitere Person zur Bearbeitung übergeben.

In einem integrierten Empfänger-Dialog kann der User durch Eingabe anfangs des Personennamens den Empfänger aus einer Liste der Benutzer bequem auswählen.

Zudem kann ein kurzer Text mitgegeben werden, der als Hinweis an den Folgebearbeiter inkludiert wird.

Mit klick auf den „Weiter“-Button wird an die gewählte Emailadresse eine Nachricht an den Folgebearbeiter mit dem Link direkt auf den aktuellen Fall und den erstellten Text gesendet.

Anzeige der Fälle in einer Liste und „Reservierung“ von Fällen über die Oberfläche

Offene Fälle können nun in einer Liste im Überblick eingesehen und ein Fall kann aus dieser Liste ausgewählt werden.

Mit einem Klick auf das Listenansicht-Icon neben dem Button "Nächsten Fall bearbeiten" wird die Liste aufgerufen.

Die Liste zeigt alle offenen Fälle für den jeweils eingeloggten Nutzer mit dem Kopfdatensatz an. Per Doppelklick auf einen Fall wird in die Detailsicht / die Bearbeitung des Falles gewechselt. Nach Bearbeitung des Falles springt man automatisch in die Listenansicht zurück.

Über eine „Suchen“-Funktion kann der Nutzer innerhalb der offenen Fälle suchen und per Klick auf ein Suchergebnis zum gefundenen Fall springen.

Es steht auch der neue Status "geflaggt/reserviert" zur Verfügung, um Fälle für die Bearbeitung durch einen bestimmten Nutzer zu reservieren.

Man kann diesen Status per Klick an einen Fall vergeben bzw. wieder entziehen.

Geflaggte Fälle werden dabei optisch hervorgehoben, so kann jeder Nutzer erkennen, ob ein Fall von jemand anderem geflaggt wurde und auch von wem.

Die Anzeige der Fälle kann gefiltert werden nach:

  • Nur meine geflaggten Fälle anzeigen
  • Fremd geflaggte Fälle ausblenden



Weitere neue Features

TitelBeschreibungKomponente

Emails an mehrere Empfänger aus dem Monitoring

In den Nachrichten-Transportwegen des Monitoring wurde die Möglichkeit eingebaut, den Versand an mehrere E-Mail-Empfänger (mit Semikolon getrennt) auslösen zu können.

Monitoring
Alternativer Betriebsmodus für SQL Activity

Wird die neue Option "Pass Through SQL" aktiv ausgewählt, werden die Variablen nicht mehr als "Konstante Werte" in den SQL eingefügt, sondern als Teil des SQL Strings übernommen.

Der Default ist jedoch "AUS", d.h. die SQL-Activity verhält sich wie bisher.

Workflow
Erweiterung der Activity Internationale Postalische Korrektur um Usernamen und Einstellungstabelle

Möglichkeit, den Usernamen und das Kennwort eines Kunden zu übergeben, um das Kennwort in den Einstellungen zu überschreiben.

Gleichzeitig wird eine Tabelle mit Werten / Parametern übergeben, die die Einstellungen der Online-Schnittstelle für den Aufruf überschreiben.

Wird die Tabelle nicht übergeben, wird der eingestellte Standard aus den Settings übernommen .

Postalische Korrektur (AddressDoctor Online)
Verwaltung von zentralen Datenstrukturen

Im Hauptpunkt "Zentrale Datenstrukturen" können in der Eingabemaske zentral Datenstrukturen angelegt, gelöscht oder kopiert werden.

Datenstrukturen sind beim Öffnen zunächst schreibgeschützt und können erst durch Klick auf "Ändern" editiert werden.

Workflow
Nutzung von asynchronen Tablebased Workflows über REST

Lange laufende, tabellenbasierten Workflows können über REST-Service asynchron aufgerufen werden, um auf Fertigstellung zu warten.

Das Ergebnis des Workflows kann anschließend abgerufen werden.

API (REST-Gateway)
Sichere Verbindung zu PostgeSQL

Der Data Quality Server kann auch über https mit einer PostgreSQL-Datenbank verschlüsselt kommunizieren, um die übertragenen Daten sicher vor Zugriffen zu schützen.

In den Oberflächen für Datenziele und -quellen lässt sich hierzu einstellen, ob die Verbindung über https aufgebaut werden soll.

Datenverbindungen
Datenziele kopierbar / Datenquellen kopierbar

Beim Anlegen mehrerer Datenquellen/Datenziele in der gleichen Datenbank müssen die Credentials nur noch einmal eingegeben werden.

Datenverbindungen
Matching Settings (Matrix)

Bei der Neuanlage von Matrizen für einzelne Datenquellen kann die Feldstruktur einer Datenverbindung direkt in die Matrix übernommen werden.

Hierzu kann auch eine spezifische Auswahl der zu übertragenden Felder vorab erfolgen.

Workflow
Millisekunden-Anzeige im Log

In der Loganzeige im Data Quality Server werden nun Stunden, Minuten, Sekunden und Millisekunden angezeigt.

Server Management
SET-Activity zum Setzen einer Variablen

Variablen können nun einfach gegen den normalen Record, also auch gegen Datensätze in einer Ergebnistabelle innerhalb einer Tabellenverarbeitung gesetzt werden.

Die Variable kann einen Festwert erhalten oder den Inhalt einer anderen Variable.

Workflow
Eine Transformation Datenziel/Datenziel

Ermöglicht eine Transformation von einem Datenziel in ein andere Datenziel.

Man kann den Namen einer Datenquelle und eines Datenziels wählen, beide Namen erscheinen in den Quell-Auswahllisten / Comboboxen.

Die Transformation überträgt die entsprechenden Mengen in das neue Datenziel in allen drei Modi: Neusynchronisation / Update / Delete

Datenverbindungen
Workflow beenden - Tabellenbasierter Workflow

Die Activity enthält eine neue Option, die NUR den umgebenden Workflow und nicht die darüberliegende Workflows beendet.

Workflow

Allgemeine Verbesserungen

TitelBeschreibungKomponente
Zahlreiche Verbesserungen der Workflow Engine mit neuen Aktivitäten und neuen Steuerungsmöglichkeiten
  • Verbesserte Einstellungen für Activities
  • „Ende-Workflow“-Activity
  • Anpassung/Erweiterung von Obeflächen für Activities
Workflow
Unterstützung für neue Datenbanken

SQL Script Activity unterstützt Teradata, Informix, SQL Lite

Datenverbindungen
Verbesserung im Workflow Struktur Editor
  • Fehlermeldungen mittig über dem Dialog
  • Klick auf eine Strukturzeile sortiert die Zeilen um
  • erweiterte Comboboxen
  • markieren mehrerer Zeilen
  • Anzeige-Tabellen
Management Studio
Python PluginsPython Plugins festlegen PythonHome und PythonPath über Config FileWorkflow
Activity GetSimilarRecordsActivity GetSimilarRecords kann die Matrixnamen und den Namen der Data Destination als Konstante (Verhalten wie bisher) oder als Feldname übergeben.Workflow
Editor-FensterEditiergrid enthält eine Copy+Paste-Funktion, um Felder zu kopieren.Management Studio
PhoneSplit-Erweiterungenz.B. SerbienWorkflow
SpeicheroptimierungSpeicherverbrauch in In Memory Data Bases bei Transformation reduziertAllgemein

Bugfixes

Im Release zur Data Quality Server Version 2.20 wurden auch diverse Bugfixes aus der Version 2.18 eingearbeitet.