Duplikat oder Fuzzy?

In meinen beiden vorherigen Beitrags habe ich einen Prozess zur Erkennung bereits vorhandener Datensätze in einer Zieldatenbank gezeigt. Was aber tun, wenn meine Daten zwar auf Feldebene gleich sein sollten, es aber de facto nicht sind? Der Vorname ist in dem einen Fall ausgeschrieben, im anderen Fall nicht. Es haben sich Tippfehler eingeschlichen, und so weiter. Das Ganze dann auch noch in Kombination und das Datenchaos ist perfekt. Aber ein normaler Zustand in der realen Welt der Softwareverwaltung.
Im Rahmen eines Kundenprojektes für ein Kostencontrolling kam die Frage auf, warum im Bereich von Softwarelizenzen stetig steigende Kosten zu verzeichnen sind, wenngleich die Personalstärke auf ihrem Niveau stagniert. Eine Hypothese war, dass unnötige Lizenzen bezahlt werden. Wir wurden um Rat gefragt und daraus entstand die Idee, ein Benutzermanagement mit Hilfe von DeltaMaster einzuführen, damit Änderungen an den Personalstrukturen auch in die Zielsysteme weitergetragen werden. Denn diese bilden schließlich die Basis für die Abrechnung der benutzten Lizenzen. Richtig gelesen, benutzte Lizenzen, welche aber sind das? Ziel sollte sein, alle Benutzer aus den Stammdaten der unterschiedlichsten Systeme je seinem Pendant im Active Directory (AD) zuzuordnen. Welches ist aber sein Pendant, wenn die Inhalte eben nicht genau übereinstimmen? Duplikat oder nicht?
An genau dieser Stelle kam uns die Idee einer sogenannten Fuzzysuche (engl. fuzzy = undeutlich, unscharf). Dabei geht es kurz gesagt um inhaltliche Ähnlichkeiten von Zeichenfolgen, definierbar mit Schwellwerten. Diese ist ein Bestandteil der Integration Services des MS SQL Servers (kurz: SSIS) seit der Version 2005 und kann mit Hilfe des BI Development Studios (kurz: BIDS) in jegliche ETL-Prozesse integriert werden. Lassen Sie uns dieses Helferlein heute einmal genauer unter die Lupe nehmen. weiterlesen…