Trucs et astuces: Doublons

Les données volumineuses nécessitent des outils spéciaux. Si vous souhaitez effectuer une comparaison ou une recherche dans des millions d’enregistrements, les performances doivent être bonnes. TOLERANT Match offre des options d’ajustement personnalisé pour optimiser les performances.

Cloisonnement

Le cloisonnement est un élément central de TOLERANT Match. Il a une influence directe sur les performances ainsi que sur le type et la quantité de données trouvées. Pendant le cloisonnement, tous les enregistrements de données sont affectés (« partitionnés ») à N zones de données (« partitions ») avant d’être traités. L’affectation est basée sur des critères configurables par lesquels chaque enregistrement de données est mis en correspondance avec une partition (1..N).

Champs - Valeur - TOLERANT Match - Valeurs d'affectation - Cloisonnement

Lors de la recherche, le système ne recherche alors que dans les partitions qui résultent des valeurs de la recherche. De cette manière, le temps de recherche peut être considérablement réduit par rapport à un traitement sans partitionnement. Pour de grandes quantités de données (plus d’un million d’enregistrements environ), il convient donc de toujours utiliser le partitionnement.

Les produits « Match Batch » et « Match Service » diffèrent en ce qui concerne le cloisonnement. « Match Batch » utilise un champ pour le partitionnement, « Match Service » utilise plusieurs champs. Cela présente l’avantage qu’avec le « Match Service » le partitionnement – et donc une amélioration des performances – est possible même si les mêmes champs ne sont pas toujours utilisés dans une recherche.

Le code postal est un exemple typique de champ utilisé pour le cloisonnement. Les enregistrements ayant le même code postal ou des chiffres initiaux communs du code postal sont affectés à la même partition et peuvent donc être comparés entre eux. Dans TOLERANT Match Service, vous pouvez utiliser d’autres champs que le code postal, comme le type de client ou la date de naissance, pour la répartition. L’avantage est évident: des opérations de recherche optimisées sont possibles pour différentes combinaisons de termes de recherche, même sans devoir toujours inclure le même champ (comme le code postal).

Veuillez noter que vous ne devez partager que les champs dont les valeurs sont complètement remplies et fiables. Dans le cas du code postal, un contrôle postal et une normalisation de tous les enregistrements de données devraient avoir été effectués au préalable, par exemple avec le logiciel TOLERANT Post. Cela garantit l’affectation à des partitions correctes.

Préférer le type de correspondance DICECOEFF

Pour la comparaison de deux valeurs de champ dans TOLERANT Match, un certain nombre de types de correspondance sont disponibles (DICECOEFF, COMPARE, etc.). Ces types de correspondance diffèrent principalement dans la manière dont les fragments de texte courts affectent le résultat; en conséquence, ils ont des domaines d’utilisation typiques.

Mais ce sont surtout les types d’appariement qui influencent les performances. Pour les grandes quantités de données, DICECOEFF doit être utilisé car une implémentation spéciale optimise les performances.

Utilisation sélective de emptyScore

Il existe un moyen élégant de prendre en compte les champs non remplis lors d’une recherche avec TOLERANT Match. L’élément de configuration « emptyScore » permet de traiter rapidement les champs vides. De cette façon, seules quelques règles sont nécessaires dans une configuration.

Cependant, si cette option est utilisée avec de très grands ensembles de données, les performances peuvent diminuer. Dans ce cas, il est plutôt recommandé de définir plusieurs règles qui sont utilisées pour différents champs vides. Les conditions sont utilisées pour contrôler quand une règle est utilisée.

Plate-forme matérielle

En plus d’une configuration optimale, la plate-forme matérielle disponible détermine les performances de TOLERANT Match. Contrairement aux autres produits TOLERANT, le dimensionnement de TOLERANT Match dépend beaucoup des données à traiter. Pour obtenir des performances élevées, il faut disposer d’un maximum de mémoire principale – surtout avec le « Service Match » – et d’un processeur performant.

Base de données

Si une base de données est utilisée par le TOLERANT Match Service pour stocker les données, elle doit être connectée au « service de jumelage » avec la latence la plus faible possible. Un traitement rapide des requêtes est également essentiel. Nous recommandons donc d’installer une base de données sur le même serveur que « Match Service », ou sur un serveur accessible par une connexion réseau très rapide. Pour le serveur de base de données, l’utilisation de disques durs SSD a fait ses preuves.

Plan d’exécution

La vitesse à laquelle TOLERANT Match traite les requêtes de recherche dépend non seulement du matériel utilisé et de la quantité de données, mais aussi fortement de la configuration du programme. Les différents types de champs, le partitionnement, les champs utilisés dans une recherche ainsi que les valeurs concrètes dans une recherche ont une influence sur la vitesse. Afin de toujours obtenir le temps de réponse le plus court possible, un plan d’exécution de la requête de recherche individuelle est déterminé avant chaque recherche. Ce plan d’exécution donne un bon résultat dans la grande majorité des cas. Si le plan d’exécution doit être optimisé manuellement, cela peut être fait à tout moment via la configuration.