Optimieren von Vergleichen

Vergleichen ist typischerweise einer der am zeitaufwändigsten Vorgänge in jeder Implementierung von Datenqualität. Deshalb ist es wichtig sicherzustellen, dass Vergleichen so effizient wie möglich abläuft. Es gibt immer ein Gleichgewicht zwischen Übereinstimmungen und Leistung. Wenn jeder Datensatz in einer Datei mit jedem anderen Datensatz verglichen wird, können Sie ziemlich sicher sein, dass alle Übereinstimmungen identifiziert werden. Dieser Ansatz ist jedoch untragbar, da das Datenvolumens immens anwächst. Zum Beispiel würde bei einer Eingabedatei mit 1 Million Datensätzen das Vergleichen von jedem Datensatz mit jedem anderen Datensatz nahezu 1 Billion Vergleiche erfordern, um jede Vergleichsregel zu berücksichtigen.

Da die meisten Datensätze in einer Datei keine Übereinstimmung ergeben, liegt der allgemeine Ansatz zur Lösung dieses Problems darin, einen Vergleichsschlüssel zu definieren und nur die Datensätze zu vergleichen, die über denselben Vergleichsschlüssel verfügen. Die angemessene Definition eines Vergleichsschlüssels ist die entscheidendste Variable, die sich auf die Leistung der Vergleichs-Engine auswirkt. Sie müssen die Arbeitsweise der Vergleichs-Engine und die verfügbaren Optionen verstehen, um einen angemessenen Vergleichsschlüssel zu definieren.

Die Standardvergleichsmethode führt einen vollständigen Vergleich des Datensatzes in einer Vergleichswarteschlange durch, um die maximale Anzahl von Übereinstimmungen zu identifizieren. Daher ist dies oft die zeitaufwändigste Methode, einen Vergleich durchzuführen. Bei der Standardvergleichsmethode wird der erste Datensatz in der Vergleichswarteschlange zum Kopfdubletten-Datensatz. Der nächste Datensatz wird damit verglichen und bei einer Übereinstimmung als Dublette ausgegeben. Wenn keine Übereinstimmung vorliegt, wird der Datensatz als Kopfdublette hinzugefügt und der nächste Datensatz wird mit den beiden aktiven Kopfdubletten verglichen. Betrachten Sie die folgende Vergleichswarteschlange:

Eindeutige ID Vergleichsschlüssel
1 123A
2 123A
3 123A
4 123A
5 123A
6 123A
7 123A
8 123A
9 123A
10 123A

Als Erstes würde Datensatz 2 mit Datensatz 1 verglichen werden. Angenommen, es besteht keine Übereinstimmung, dann würde Datensatz 2 als Kopfdublette hinzugefügt werden. Als Nächstes würde Datensatz 3 mit den Datensätzen 1 und 2 verglichen werden und so weiter. Wenn keine übereinstimmenden Datensätze gefunden werden, beträgt die Gesamtzahl der Vergleiche 45. Wenn einige Datensätze übereinstimmen, ist die Anzahl der Vergleiche geringer. Bei einer Vergleichswarteschlange mit gegebener Größe N beträgt die maximale Anzahl an Vergleichen N×(N-1)÷2. Bei einer kleinen Warteschlange sind keine Auswirkungen auf die Leistung festzustellen, doch werden sie bei zunehmender Warteschlangengröße deutlich größer. Eine Warteschlangengröße von 100 könnte beispielsweise 4.450 Vergleiche nach sich ziehen, und eine Warteschlangengröße von 500 könnte zu 124.750 Vergleichen führen.

Definieren eines angemessenen Vergleichsschlüssels

Berücksichtigen Sie beim Definieren eines angemessenen Vergleichsschlüssels Folgendes:

  • Es ist am wichtigsten, nicht zu vergessen, dass die meisten Datensätze keine Übereinstimmung aufweisen. Daher sollten Sie nur Datensätze vergleichen, bei denen wahrscheinlich eine Übereinstimmung vorliegt.
  • Nur Datensätze mit demselben Vergleichsschlüssel werden verglichen.
  • Es ist wichtig, die Leistung zu berücksichtigen:
    • Der Vergleichsschlüssel legt die Größe der Vergleichswarteschlange fest.
    • Bei einer gegebenen Anzahl von Datensätzen verdoppelt sich die Ausführungszeit, wenn sich die Größe der Vergleichswarteschlange verdoppelt.
    • Ein „enger“ Vergleichsschlüssel führt zu höherer Leistung. Ein „enger“ Vergleichsschlüssel ist spezifisch und enthält mehr Zeichen aus möglicherweise mehr Feldern.
    • Ein „lockerer“ Vergleichsschlüssel führt möglicherweise zu mehr Übereinstimmungen. Ein „lockerer“ Vergleichsschlüssel ist weniger spezifisch und enthält weniger Zeichen aus möglicherweise weniger Feldern.

Finden eines Gleichgewichts zwischen Leistung und Vergleichsergebnissen

Berücksichtigen Sie die Vergleichsregel und die Datendichte, um ein gutes Gleichgewicht zwischen Leistung und Ergebnissen zu finden.

  • Berücksichtigen Sie die Vergleichsregeln:
    • Sie könnten Felder, die eine genaue Übereinstimmung erfordern, in den Vergleichsschlüssel einschließen.
    • Erstellen Sie einen angemessenen Schlüssel für die Vergleichsregel. Beispielsweise ist für eine phonetische Vergleichsregel ein phonetischer Vergleichsschlüssel wahrscheinlich angemessen.
    • Ein Vergleichsschlüssel besteht oft aus Teilen aller zu vergleichenden Felder.
    • Seien Sie sich der Auswirkungen fehlender Daten bewusst.
  • Berücksichtigen Sie die Datendichte:
    • Beispielsweise wäre bei einem Adressenvergleich der Vergleichsschlüssel wahrscheinlich enger, wenn alle Datensätze sich ein einer einzelnen Stadt anstatt in einem nationalen Dataset befinden würden.
    • Berücksichtigen Sie die größte Vergleichswarteschlange, nicht nur eine mittlere. Überprüfen Sie den Zusammenfassungsbericht der Vergleiche, um die größte Vergleichswarteschlange herauszufinden.
  • Bei der Verwendung von Transactional Match gelten dieselben Überlegungen für die SELECT-Anweisung in Candidate Finder.

Schnellvergleichsschlüssel

In einer typischen Datei stimmen die meisten Datensatzdubletten genau oder fast genau überein. Wenn Sie einen Schnellvergleichsschlüssel definieren, kann die Vergleichen-Engine zu Beginn einen Vergleich der Schnellvergleichsschlüssel durchführen, um festzustellen, dass zwei Datensätze Dubletten sind. Dies kann die Leistung deutlich erhöhen, da nicht alle Vergleichsregeln auf Feldebene ausgewertet werden müssen.

Methoden von Intraflow Match

Die standardmäßige Vergleichsmethode von Intraflow Match vergleicht alle Datensätze, die denselben Vergleichsschlüssel aufweisen. Bei einer Vergleichswarteschlangengröße von N führt die Standardmethode N-1 bis N×(N-1) Vergleiche durch. Wenn alle Datensätze übereinstimmen, ist die Anzahl der Vergleiche N-1. Wenn keine Datensätze übereinstimmen, ist die Anzahl der Vergleiche N×(N-1). Üblicherweise liegt die Anzahl der Vergleiche irgendwo im oberen Teil dieses Bereichs.

Ziehen Sie in Betracht, die Vergleichsmethode „Gleitendes Fenster“ statt der Standardmethode zu verwenden, wenn Ihre Priorität auf Leistung liegt. Die Vergleichsmethode „Gleitendes Fenster“ vergleicht jeden Datensatz mit den nächsten F Datensätzen, wobei „F“ für die Fenstergröße steht. Bei einer gegebenen Dateigröße N führt die Methode „Gleitendes Fenster“ nicht mehr als N×F Vergleiche durch. Dies kann zu höherer Leistung führen, jedoch könnten einige Übereinstimmungen nicht gefunden werden.