Optimisation du rapprochement

Le rapprochement est généralement l'une des opérations les plus longues de toute implémentation de qualité des données, ce qui rend indispensable de s'assurer que le rapprochement s'opère de la manière la plus performante possible. Il existe toujours un équilibre entre les résultats de correspondance et la performance. Si chaque enregistrement contenu dans un fichier est comparé à tous les autres enregistrements, vous pouvez être tout à fait sûr que toutes les correspondances seront identifiées. Cependant, cette approche n'est plus viable quand le volume des données grandit. Par exemple, prenez un fichier d'entrée comportant 1 million d'enregistrements : le rapprochement de chaque enregistrement avec tous les autres nécessiterait environ 1 trillion de comparaisons afin d'évaluer chaque règle de rapprochement.

Étant donné que la plupart des enregistrements contenus dans un fichier ne correspondent pas, l'approche générale afin de résoudre ce problème consiste à définir une match key et à ne comparer que les enregistrements qui possèdent la même match key. Bien définir la match key est la variable la plus cruciale qui affecte la performance d'un moteur de rapprochement. Pour bien définir votre match key, vous devez comprendre comment le moteur de rapprochement traite les enregistrements ainsi que les options qui sont à votre disposition.

La méthode de rapprochement par défaut réalise une comparaison exhaustive de l'enregistrement dans une file de correspondance afin d'identifier le nombre maximal d'enregistrements. En raison de cela, cette méthode est souvent la plus longue des méthodes de rapprochement. Avec la méthode de rapprochement par défaut, le premier enregistrement de la file devient l'enregistrement suspect. L'enregistrement suivant y est comparé, et s'il correspond, celui-ci est écrit comme doublon. Si ce n'est pas le cas, il est ajouté comme suspect, puis le prochain enregistrement est comparé aux deux suspects actifs. Supposez la file de correspondance suivante :

ID unique Match key
1 123A
2 123A
3 123A
4 123A
5 123A
6 123A
7 123A
8 123A
9 123A
10 123A

D'abord, l'enregistrement 2 serait comparé à l'enregistrement 1. À supposer qu'il ne corresponde pas, l'enregistrement 2 serait ajouté comme suspect. Puis, l'enregistrement 3 serait comparé aux enregistrements 1 et 2, et ainsi de suite. Si aucun enregistrement ne correspond, le nombre total de comparaisons serait 45. Si certains enregistrement correspondent, le nombre de comparaison sera moindre. Pour une file de correspondance d'une taille donnée N, le nombre maximum de comparaisons sera N×(N-1)÷2. Quand la taille de la file est petite, cela ne se remarque pas, mais dès que la file s'agrandit, l'impact devient significatif. Par exemple ,une taille de file de 100 engendrerait jusqu'à 4 450 comparaisons, et une taille de file de 500 engendrerait jusqu'à 124 750 comparaisons.

Définition d'une match key appropriée

Afin de définir une match key qui soit appropriée, prenez en considérations les éléments suivants :

  • La chose la plus importante à ne pas oublier est que la plupart des enregistrements ne correspondent pas. Donc, vous ne voulez comparer que les enregistrements susceptibles de correspondre.
  • Seuls les enregistrements possédant la même match key seront comparés.
  • La performance constitue la considération clé :
    • La match key détermine la taille de la file de correspondance.
    • Pour un nombre d'enregistrements donné, quand la taille de la file de correspondance double, le temps d'exécution double.
    • Une match key « serrée » livre une meilleure performance. Une match key « serrée » est une clé qui est spécifique, qui contient plus de caractères issus de peut-être plus de champs.
    • Une match key « lâche » peut donner plus de correspondances. Une match key « lâche » est une clé qui sera moins spécifique, qui contiendra moins de caractères issus de peut-être moins de champs.

Équilibrage entre performance et résultats de correspondance

Pour trouver un bon équilibre entre performance et résultats, prenez en compte la règle de rapprochement et la densité des données.

  • Prenez en compte les règles de rapprochement :
    • Les champs nécessitant une correspondance parfaite pourraient être compris dans la match key.
    • Générez un clé appropriée pour la règle de rapprochement. Par exemple, pour une règle de rapprochement phonétique, une match key phonétique est probablement appropriée.
    • Une match key est souvent composée de parties de tous les champs rapprochés.
    • Ayez connaissance des effets résultant du manque de données.
  • Examinez la densité des données :
    • Par exemple, dans la correspondance d'adresses, une match key aurait de plus fortes chances d'être plus serrée si tous les enregistrements concernent une seule ville au lieu d'un ensemble de données national.
    • Songez à la file de correspondance la plus grande, et non à une file de taille moyenne. Passez en revue le relevé de Match Summary (synthèse des rapprochements) afin de trouver la plus longue file de correspondance
  • Si vous employez une correspondance transactionnelle, les mêmes considérations s'appliquent à l'instruction SELECT dans Candidate Finder.

Match Key Express

Dans un fichier typique, la plupart des enregistrements doublons correspondent soit parfaitement, soit quasi-parfaitement. La définition d'une match key de type express permet au moteur de rapprochement de réaliser une comparaison initiale des match keys expresses pour déterminer que deux enregistrements sont des doublons. Ceci peut améliorer la performance de manière significative en évitant d'avoir à évaluer la totalité des règles de rapprochement de niveau de champ.

Méthodes Intraflow Match

La méthode de correspondance Intraflow Match par défaut compare l'ensemble des enregistrements portant la même match key. Pour une taille de file d'attente de correspondance N, la méthode par défaut effectue des comparaisons N−1 à N×(N−1). Si tous les enregistrements correspondent, le nombre de comparaisons est N−1. Si aucun enregistrement ne correspond, le nombre de comparaisons est N×(N−1). En règle générale, le nombre de comparaisons figure quelque part dans la partie supérieure de cette plage.

Si la performance est votre priorité, songez à utiliser la méthode de correspondance de fenêtre coulissante au lieu de la méthode par défaut. La méthode de correspondance de fenêtre coulissante compare chaque enregistrement aux W enregistrements suivants (où W est la taille de la fenêtre). Pour une taille de fichier N donnée, la méthode de fenêtre coulissante ne réalise pas plus de NxW comparaisons. Ceci peut résulter en une meilleure performance, mais certaines correspondances peuvent être manquées.