Basalt Studio logo
Basalt Studio.Basalt Studio.
Back

Comment comparer des bases de données avec le nœud Compare Datasets : un tutoriel étape par étape

Eliott Ardisson

Eliott Ardisson

Founder & CEO - Basalt Studio

Updated
comparison

Apprenez à comparer deux bases de données avec le nœud Compare Datasets dans n8n : tutoriel pas à pas, cas d'usage PME et bonnes pratiques d'automatisation.

ai agents
automation
programmatic

En bref

  • Le nœud Compare Datasets dans n8n permet de comparer deux ensembles de données sans écrire une seule ligne de SQL, ce qui le rend accessible aux équipes non techniques.
  • La comparaison manuelle de données entre systèmes est une tâche récurrente dans les PME : CRM vs plateforme e-commerce, données de production vs données de test, liste marketing vs base clients.
  • Le nœud produit quatre sorties distinctes (correspondances, ajouts, suppressions, modifications) qui permettent de déclencher des actions automatiques selon le type d’écart détecté.
  • La normalisation des données avant comparaison est souvent l’étape la plus critique, surtout quand les sources sont hétérogènes.
  • Pour les PME qui veulent industrialiser ce type de workflow sans y consacrer des semaines, l’accompagnement par un spécialiste de l’implémentation peut raccourcir significativement le délai de mise en production.

Pourquoi la comparaison de bases de données pose problème dans les PME

La plupart des PME utilisent entre trois et sept outils métier en parallèle. CRM, plateforme e-commerce, outil de facturation, base RH, logiciel de gestion de projet. Ces outils ne se synchronisent pas toujours parfaitement, et les écarts s’accumulent.

Un cabinet de recrutement peut avoir ses candidats dans un ATS et ses contacts dans un CRM. Une agence immobilière peut avoir ses leads dans HubSpot et ses dossiers actifs dans un outil de gestion propriétaire. Un prestataire HVAC peut avoir ses clients dans un logiciel de devis et ses interventions dans une autre base.

Identifier les différences entre ces sources de données est, dans la plupart des cas, soit une tâche manuelle fastidieuse, soit un chantier de développement qui traîne en longueur. Le nœud Compare Datasets dans n8n est conçu pour résoudre exactement ce problème, sans requêtes SQL complexes et sans intervention d’un développeur à chaque nouveau besoin.


Ce qu’est le nœud Compare Datasets (et ce qu’il n’est pas)

Le nœud Compare Datasets est une fonctionnalité native de n8n, une plateforme d’automatisation open source. Il prend deux ensembles de données en entrée, les compare sur la base de clés que vous définissez, et produit quatre sorties selon la nature des écarts trouvés.

Ce n’est pas un outil de comparaison de schémas de base de données. Il ne compare pas la structure des tables, les types de colonnes ou les index. Il compare des données ligne par ligne, enregistrement par enregistrement.

Les quatre sorties du nœud :

  • Matches : les enregistrements identiques dans les deux sources.
  • Additions : les enregistrements présents dans la source 2 mais absents de la source 1.
  • Deletions : les enregistrements présents dans la source 1 mais absents de la source 2.
  • Updates : les enregistrements dont la clé correspond mais dont un ou plusieurs champs ont changé.

Cette granularité permet de brancher des actions différentes selon le type d’écart, ce qui est l’intérêt principal de l’approche.


Préparer vos données : l’étape souvent négligée

Avant de connecter le nœud Compare Datasets, il faut que vos deux ensembles de données partagent le même format. En pratique, c’est rarement le cas quand les sources sont hétérogènes.

Un exemple concret : vous comparez une liste clients exportée de votre CRM avec une liste extraite de votre plateforme e-commerce. Dans le CRM, le champ téléphone contient “06 12 34 56 78”. Dans la base e-commerce, il contient “0612345678”. Pour n8n, ce sont deux valeurs différentes.

Les normalisations les plus fréquentes à prévoir :

  • Mise en minuscules des adresses email
  • Suppression des espaces et caractères non numériques dans les numéros de téléphone
  • Harmonisation des formats de date (ISO 8601 recommandé)
  • Uniformisation des noms de champs (par exemple, company_name dans une source devient customerName dans l’autre)

Dans n8n, ces transformations se font avec les nœuds “Code” ou “Set” placés avant le nœud Compare Datasets. C’est une étape courte mais qui conditionne la fiabilité de toute la comparaison.


Tutoriel : construire un workflow de comparaison pas à pas

Étape 1 : Connecter les deux sources de données

Dans n8n, créez un nouveau workflow. Ajoutez deux nœuds sources correspondant à vos systèmes. Cela peut être deux nœuds MySQL, un nœud MySQL et un nœud Google Sheets, un nœud HTTP Request pointant vers une API et un nœud Postgres, etc.

Configurez chaque nœud pour extraire les champs pertinents. Il est préférable de ne pas extraire tous les champs d’une table si vous ne voulez en comparer que cinq. Cela allège les données et simplifie la configuration de la comparaison.

Exemple de requête SQL pour une extraction ciblée :

SELECT id, email, nom, prenom, ville, statut
FROM clients
WHERE actif = 1
ORDER BY id;

Étape 2 : Normaliser les données avec un nœud Code

Ajoutez un nœud “Code” après chaque source si une normalisation est nécessaire. Voici un exemple de normalisation basique :

return items.map(item => ({
  json: {
    ...item.json,
    email: item.json.email.toLowerCase().trim(),
    telephone: item.json.telephone.replace(/[^\d]/g, ''),
    nom: item.json.nom.trim()
  }
}));

Si vos deux sources utilisent des noms de champs différents, c’est aussi à cette étape que vous faites le mapping. L’objectif est que les deux ensembles de données entrant dans le nœud Compare Datasets aient des champs nommés de façon identique.

Étape 3 : Configurer le nœud Compare Datasets

Ajoutez le nœud Compare Datasets. Connectez la sortie de votre première source (normalisée) à l’entrée “Input 1”, et la sortie de votre deuxième source à l’entrée “Input 2”.

Paramètres à configurer :

  • Keys to Match On : le ou les champs qui servent d’identifiant unique. En général, un identifiant client, un email, un numéro de dossier. Ce champ doit être unique dans les deux sources pour que la comparaison soit fiable.
  • Fields to Compare : les champs sur lesquels vous voulez détecter des différences. Laissez vide si vous voulez comparer tous les champs disponibles.
  • Output Mode : choisissez “All” pour récupérer les quatre types de sortie séparément.

Étape 4 : Brancher les actions sur chaque sortie

C’est là que le workflow prend tout son intérêt. Chaque sortie du nœud peut déclencher une action différente.

Pour les additions (nouveaux enregistrements dans la source 2) :

  • Envoi d’une notification Slack ou Teams à l’équipe concernée.
  • Insertion dans une table d’audit ou un fichier de log.
  • Création automatique d’une fiche dans votre CRM.

Pour les mises à jour (champs modifiés) :

  • Email récapitulatif envoyé quotidiennement à un responsable.
  • Mise à jour automatique du système cible si vous faites confiance à la source.
  • Création d’une tâche de vérification manuelle si les données sont sensibles.

Pour les suppressions (enregistrements disparus de la source 2) :

  • Alerte immédiate si la suppression n’est pas attendue.
  • Archivage dans une table de données supprimées.

Pour les correspondances (données identiques) :

  • En général, aucune action. Vous pouvez tout de même les loguer pour avoir un compteur de fiabilité.

Étape 5 : Planifier l’exécution

Un workflow de comparaison n’a d’intérêt que s’il tourne régulièrement. Ajoutez un nœud “Schedule Trigger” au début de votre workflow pour le déclencher automatiquement. La fréquence dépend de votre contexte : toutes les heures pour des données très dynamiques, une fois par jour pour des synchronisations moins urgentes.


Cas d’usage concrets pour les PME

Cabinet de recrutement : cohérence entre l’ATS et le CRM

Un cabinet de recrutement de taille intermédiaire gère ses candidats dans un ATS et ses contacts clients dans un CRM. Les consultants alimentent les deux outils de façon indépendante. Des doublons apparaissent, des informations de contact se désynchornisent.

Un workflow Compare Datasets qui s’exécute chaque soir peut identifier les contacts présents dans le CRM mais absents de l’ATS (clients potentiellement à relancer), les candidats dont l’email a changé dans l’ATS mais pas dans le CRM, et les enregistrements dupliqués sur la base du nom et du numéro de téléphone.

Agence e-commerce : audit des stocks entre ERP et plateforme de vente

Un e-commerçant gère son stock dans un ERP et publie ses produits sur une plateforme de vente en ligne. Les mises à jour de stock ne sont pas toujours synchronisées en temps réel. Un workflow de comparaison quotidien détecte les écarts de quantité et déclenche une alerte avant que le problème n’affecte les commandes.

Cabinet comptable : conformité des données clients entre deux systèmes

Un cabinet comptable migre progressivement ses dossiers d’un logiciel legacy vers une nouvelle plateforme. Un workflow de comparaison permet de vérifier que chaque dossier migré est intègre, de détecter les enregistrements non encore migrés, et de générer un rapport hebdomadaire de progression.


Gestion des volumes importants

Pour des tables de plusieurs dizaines de milliers de lignes, quelques précautions s’imposent.

La pagination permet de traiter les données par blocs plutôt qu’en une seule requête. Dans n8n, un nœud “Loop Over Items” associé à une requête paginée (LIMIT / OFFSET en SQL) permet de traiter des volumes importants sans saturer la mémoire.

Le filtrage temporel réduit le volume en ne comparant que les enregistrements récemment modifiés. La condition WHERE updated_at >= NOW() - INTERVAL 24 HOUR est un point de départ classique.

L’indexation des colonnes utilisées comme clés de matching accélère les requêtes d’extraction. Si vous comparez fréquemment sur un champ email ou un identifiant client, un index sur ces colonnes est recommandé.

En pratique, dans notre travail d’implémentation de workflows d’automatisation pour des PME en services professionnels, la plupart des problèmes de performance viennent non pas du nœud Compare Datasets lui-même, mais de requêtes d’extraction trop larges ou d’une absence d’indexation sur les colonnes de filtrage.


Surveillance et traçabilité

Une comparaison automatisée sans traçabilité est difficile à auditer en cas de problème. Il est utile de conserver un journal des comparaisons effectuées, avec le nombre d’enregistrements traités, le nombre d’écarts détectés et le temps d’exécution.

Ce journal peut être aussi simple qu’une feuille Google Sheets alimentée automatiquement, ou une table SQL dédiée. L’important est de pouvoir répondre à la question “quand le dernier écart a-t-il été détecté, et quelle en était la nature ?” sans avoir à relancer manuellement le workflow.

Les métriques à suivre :

  • Nombre de comparaisons exécutées par semaine
  • Taux d’écarts moyen (nombre de lignes différentes / nombre de lignes total)
  • Délai entre la détection d’un écart et son traitement

Un taux d’écarts qui augmente progressivement est souvent le signe d’une désynchronisation structurelle entre deux systèmes, pas d’un problème ponctuel.


Limites à connaître avant de déployer

Le nœud Compare Datasets est efficace mais n’est pas une solution à tous les problèmes de qualité de données.

Il ne gère pas nativement les comparaisons floues. Si un enregistrement a “Dupont” dans une source et “DUPONT” dans l’autre, et que vous n’avez pas normalisé la casse, il sera considéré comme modifié. Si vous avez “Jean-Pierre” dans une source et “Jean Pierre” dans l’autre, même résultat.

Il ne résout pas les problèmes de dédoublonnage. Si une source contient plusieurs enregistrements avec la même clé, le comportement du nœud peut devenir imprévisible. Le nettoyage des doublons est un prérequis.

Il ne gère pas les conflits de mise à jour bidirectionnelle. Si les deux sources peuvent être modifiées indépendamment, et que vous voulez décider laquelle a raison en cas de conflit, cette logique doit être implémentée séparément.


Pour aller plus loin

Le nœud Compare Datasets est un point de départ solide pour les PME qui veulent reprendre le contrôle de leur cohérence de données sans investissement technique lourd. Il s’inscrit bien dans une approche d’automatisation progressive : commencer par les comparaisons les plus fréquentes, mesurer les gains, puis étendre à d’autres processus.

Si vous êtes à l’étape de définir quels workflows automatiser en priorité dans votre organisation, ou si vous avez déjà identifié des besoins mais que la mise en œuvre technique bloque l’avancement, un audit de vos processus existants peut permettre de clarifier rapidement les priorités.

Vous pouvez réserver un appel stratégie IA avec l’équipe Basalt Studio pour évaluer où ce type d’automatisation aurait le plus d’impact dans votre contexte : https://cal.com/eliott-ardisson-kzq7zs/ai-strategy-call