Suivez votre progression
Accueil Trailhead
Accueil Trailhead

Chargement de vos données

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Décrire les avantages du chargement de données « au plus juste » dans Salesforce.
  • Comprendre les avantages de l'API de transfert en masse par rapport à l'API SOAP lors du chargement de grandes quantités de données.
  • Accélérer le processus de chargement de grands ensembles de données en suspendant les opérations de validation et d'enrichissement des données.

Chargement au plus juste

Que nous parlions d'opérations de migration des LDV ou de synchronisation continue de données volumineuses, la réduction de l'impact de ces actions sur les opérations essentielles de l'activité constitue la meilleure pratique. Une stratégie ingénieuse pour atteindre cet objectif est le chargement au plus juste : il consiste à inclure uniquement les données et la configuration dont vous avez besoin pour effectuer les opérations essentielles de votre activité.

Que permet le chargement au plus juste ?

  • L'identification des opérations essentielles activités avant de transférer les utilisateurs vers Salesforce.
  • L'identification des ensembles minimum de données et de la configuration requise pour mettre en œuvre ces opérations.
  • La définition d'une stratégie de données et de configuration basée sur les conditions requises que vous avez identifiées.
  • Le chargement des données aussi rapidement que possible pour réduire l'ampleur de la synchronisation.

Lorsque vous décidez de votre stratégie de configuration et de chargement des données, envisagez ces options de configuration qui vous permettent de différer les processus non essentiels et d'accélérer le chargement des grandes quantités de données.

Paramètres de partage par défaut de l'organisation. Lorsque vous chargez des données avec un modèle de partage privé, le système calcule le partage pendant que les enregistrements sont ajoutés. Si vous chargez un modèle de partage de lecture/écriture public, vous pouvez différer ce traitement après la mise en service.

Relations des objets complexes. Plus vous avez défini de références sur un objet, plus le système doit effectuer des vérifications pendant le chargement des données. Mais si vous êtes en mesure d'établir certaines de ses relations dans une phase ultérieure, cela permet d'accélérer le chargement.

Règles de partage. Si vous avez configuré des règles de partage basées sur la propriété avant le chargement des données, chaque enregistrement que vous insérez nécessite des calculs de partage si le propriétaire de l'enregistrement appartient à un rôle ou un groupe qui définit les données à partager. Si vous avez configuré des règles de partage basées sur des critères avant le chargement des données, chaque enregistrement ayant des champs qui correspondent aux critères de sélection des règles nécessite également des calculs de partage.

Règles de workflow, règles de validation et déclencheurs. Il s'agit d'outils puissants pour s'assurer que les données entrées pendant les opérations quotidiennes sont propres et intègrent les relations appropriées entre les enregistrements. Mais ils peuvent également ralentir le traitement s'ils sont activés pendant des chargements massifs de données.

Juste, mais sans excès

On dit qu’on n’est jamais ni assez riche ni assez mince. Mais en ce qui concerne le chargement des données, vous pouvez parfaitement être trop juste. Bien qu'il soit ingénieux de supprimer les obstacles à un chargement plus rapide des données, il ne faut pas oublier que certaines parties de votre configuration sont essentielles (ou du moins fortement souhaitables) pendant le chargement de données et que vous ne devez y toucher :

  • Les enregistrements parent avec enfants Principal - Détails. Vous ne serez pas en mesure de charger des enregistrements enfants si les parents n'existent pas au préalable.
  • Les propriétaires des enregistrements. Dans la plupart des cas, des utilisateurs possèdent vos enregistrements, et les propriétaires doivent exister au sein du système avant que vous ne soyez en mesure de charger les données.
  • La hiérarchie des rôles. Vous pouvez penser que le chargement serait plus rapide si les propriétaires de vos enregistrements n'étaient pas membres de la hiérarchie des rôles. Mais dans la plupart des cas, les performances seraient identiques, et elles seraient considérablement plus rapides si vous chargiez des comptes du portail. Il n'y a donc aucun avantage à reporter cet aspect de la configuration.

Chargement de données d'API de transfert en masse et d'API SOAP

Lorsque vous chargez de grandes quantités de données, l'API que vous choisissez fait la différence. L'API SOAP standard de Force.com est optimisée pour des applications clientes en temps réel qui mettent à jour quelques enregistrements seulement à la fois. L'API SOAP nécessite que les développeurs et les administrateurs mettent en œuvre des processus complexes pour télécharger les données en petites séquences, surveiller les résultats et retenter les enregistrements ayant échoué. Cette méthode est acceptable pour de petits chargements de données, mais devient difficile à manier et longue avec de grands ensembles de données.

D'un autre côté, l'API de transfert en masse est conçue pour simplifier le traitement de milliers ou de millions d’enregistrements. L'API de transfert en masse est basée sur les principes de REST et a été spécifiquement développée pour simplifier et optimiser le processus de chargement ou de suppression de grands ensembles de données.

L'utilisation de l'API de transfert en masse pour de grands ensembles de données permet des vitesses de traitement ultrarapides, avec un langage de programmation réduit côté client, un état des tâches facile à surveiller, une nouvelle tentative automatique des enregistrements ayant échoué, la prise en charge du traitement en parallèle, un minimum d'échanges avec Force.com, un nombre réduit d'appels d'API, un nombre limité de connexions abandonnées et une taille des lots facile à personnaliser. En d'autres termes, il s'agit de la manière la plus rapide d'insérer, d'interroger et de supprimer des enregistrements.

Comment fonctionne l'API de transfert en masse

Lorsque vous téléchargez des enregistrements à l'aide de l'API de transfert en masse, ces enregistrements sont diffusés sur Force.com pour créer une nouvelle tâche. Lorsque les données affluent pour la tâche, elles sont stockées sur un stockage temporaire, puis découpées en lots définis par l'utilisateur (10 000 enregistrements au maximum). Même lorsque vos données sont encore en cours d'envoi sur le serveur, la plateforme Force.com envoie les lots en vue de leur traitement.

Les lots peuvent être traités en parallèle ou en série selon vos besoins. L'API de transfert en masse déplace la fonctionnalité et le travail de votre application client vers le serveur. L'API enregistre dans un journal l'état de chaque tâche et essaie pour vous de retraiter automatiquement les enregistrements ayant échoué. Si une tâche arrive à expiration, l'API de transfert en masse la remet en file d'attente et la retente pour vous.

Chaque lot est traité indépendamment, et une fois que le lot est terminé (réussi ou non), la tâche est mise à jour avec les résultats. Toute personne disposant d'un accès approprié peut surveiller les tâches et les administrer depuis l'IU d'administration de Salesforce.com.

Augmentation de la vitesse en suspendant des événements

Lorsque vous devez charger rapidement une grande quantité de données, il est important de vous assurer que chaque insertion est aussi efficace que possible. Avec une préparation appropriée et un post-traitement, vous pouvez désactiver les opérations de validation et d'enrichissement des données lors du chargement, sans compromettre l'intégrité des données ni les règles métiers.

La plateforme Force.com comporte de puissants outils permettant de vous assurer que les données saisies par vos utilisateurs sont propres et comprennent les relations appropriées entre les enregistrements. Les règles de validation assurent que les données entrées par les utilisateurs pour de nouveaux enregistrements et des enregistrements existants sont conformes aux normes spécifiées par votre entreprise. Les règles de workflow vous permettent d'automatiser les mises à jour des champs, les alertes par e-mail, les messages sortants et les tâches associées au workflow, aux approbations et aux jalons. Les déclencheurs vous permettent de manipuler les données et d'effectuer d'autres actions sur l'insertion d'enregistrements.

Bien que ces outils vous permettent de préserver l'intégrité des données pendant les opérations normales, ils peuvent également ralentir considérablement les insertions si vous les activez lors de chargements massifs de données. Mais si vous désactivez la validation, le workflow et les déclencheurs, comment pouvez-vous être sûr que lorsque vous aurez fini le chargement, vous disposerez des données précises et des bonnes relations établies entre les objets ? Il existe trois phases clés pour cet effort : l'analyse et la préparation des données, la désactivation des événements pour le chargement et le post-traitement.

Analyse et préparation des données

Pour effectuer un chargement en toute sécurité sans déclencheurs, règles de validation ni règles de workflow activés, examinez les exigences de l'entreprise auxquelles vous devriez normalement vous conformer pour ces opérations, puis répondez à deux questions.

En premier lieu, quelles exigences pouvez-vous satisfaire en nettoyant données avant de les charger ou en séquençant les opérations de chargement en cas de dépendances critiques entre des objets ? Par exemple, si vous utilisez généralement une règle de validation pour vous assurer que les entrés utilisateur sont à l'intérieur d’une plage valide, vous pouvez interroger l'ensemble des données avant le chargement pour rechercher et corriger les enregistrements non conformes aux règles.

En second lieu, quelles exigences pouvez-vous satisfaire en post-traitant les enregistrements après le chargement des données ? Un ensemble typique de cas d'utilisation se rapporte ici à l'enrichissement des données, qui pourrait impliquer l'ajout de relations de référence entre des objets, au cumul de champs récapitulatifs dans des enregistrements parents et à d'autres relations de données entre des enregistrements.

Désactivation d'événements pour le chargement

Lorsque vous avez analysé toutes les exigences de validation et d'enregistrement des données et planifié les actions pour les gérer avant ou après le chargement des données, vous pouvez temporairement désactiver vos règles et déclencheurs pour accélérer le chargement. Il vous suffit de modifier chaque règle et de la configurer sur l'état « inactif ». Vous pouvez désactiver les règles de validation, d'attribution de requêtes et de pistes, et les règles d'attribution de territoire de la même manière.

La désactivation temporaire des déclencheurs est un peu plus complexe et nécessite une certaine préparation. Commencez par créer un paramètre personnalisé et un champ de case à cocher correspondant lorsqu'un déclencheur doit être activé. Cela comprend une instruction dans votre code de déclencheur, tel celui mis en évidence dans cet exemple.

Extrait de code qui montre le code d'un déclencheur nommé setDefaultValues dans l'objet Compte. L'instruction dans le code qui est mise en évidence montre l'état du compte mis à jour sur une valeur d'étape de 1.

Lorsque ceci est terminé, la désactivation ou l'activation de votre déclencheur s'avère aussi simple que de modifier le champ de case à cocher.

Post-traitement

Lorsque vous avez terminé de charger vos données, il est temps de procéder aux tâches d'enrichissement et de configuration des données que vous avez différées jusqu'à ce stade :

  • Ajoutez des relations de référence entre des objets, cumulez des champs récapitulatifs dans des enregistrements parents et d'autres relations de données entre des enregistrements à l'aide d'Apex par lot ou de l'API de transfert en masse.
  • Améliorez les enregistrements dans Salesforce avec des clés étrangères ou d'autres données pour faciliter l'intégration à vos autres systèmes grâce à Apex par lot ou l'API de transfert en masse.
  • Réinitialisez les champs dans les paramètres personnalisés que vous avez créés pour les déclencheurs, afin qu'ils se déclenchent de manière appropriée lors de la création et de la mise à jour des enregistrements.
  • Réactivez les règles de validation, de workflow et d'attribution pour qu’elles déclenchent les actions appropriées lorsque les utilisateurs entrent et modifient des enregistrements.

Et voici le résultat : En effectuant un chargement au plus juste, en utilisant l'API de transfert en masse et en suspendant des événements, vous êtes assuré que vos chargements de données seront efficaces, aussi rapides que possible et qu'ils préserveront leur intégrité. Et maintenant que nous avons revu le chargement des données, passons à l'unité suivante où nous aborderons leur suppression et leur extraction.

Ressources