Importations concurrentes

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Fractionnez les données entrantes en plusieurs ensembles d’importation et transformez simultanément les ensembles d’importation pour réduire le temps de traitement.

    L’exécution d’une importation simultanée peut être utile lorsque l’ordre n’a pas d’importance et que les importations prennent beaucoup de temps en raison de jeux de données volumineux avec des scripts chronophages. Si l’ordre a de l’importance, vous pouvez fractionner l’importation en plusieurs partitions pour vous assurer que chaque partition est traitée dans l’ordre.

    Remarque :
    Les importations simultanées entraînent des frais généraux de traitement et de surveillance. Utilisez-les uniquement avec des ensembles de données volumineux.

    Activez les importations simultanées uniquement après avoir affiné tous les autres paramètres, tels que les index et les transformations de base de données.

    Planification d’importations concurrentes

    Pour activer les importations simultanées, sélectionnez Importation simultanée dans le formulaire Importation de données planifiée. Pour obtenir des instructions, consultez Planifier une importation de données.

    Lorsque le calendrier exécute une importation simultanée, le système extrait les données des bases de données, des feuilles de calcul Excel, des fichiers CSV ou d’autres sources vers une table intermédiaire temporaire, puis transforme les données de la table intermédiaire en table cible.

    Lorsque vous exécutez une importation simultanée, le système crée plusieurs jeux d’importation, jusqu’à la valeur de la glide.scheduled_import.max.concurrent.import_sets propriété système (valeur par défaut = 10). Par exemple, une grappe de deux nœuds produit quatre jeux d’importation et une grappe de dix nœuds produit dix jeux d’importation.

    Tâche Import Set Transformer

    Chaque nœud actif exécute deux tâches de transformateur de jeu d’importation toutes les minutes, et ces tâches interrogent la file d’attente des tâches d’ensembles d’importation simultanés, sélectionnent des jeux d’importation dans la file d’attente et transforment ces ensembles d’importation. Toutes les tâches s’exécutent simultanément, en fonction de la disponibilité des threads de travail.

    Enregistrement du jeu d’importations simultanées

    Chaque importation simultanée crée un enregistrement de jeu d’importations simultanées. La vue de formulaire affiche tous les jeux d’importation connexes, les tâches de jeux d’importation simultanées et les historiques de transformation.

    Vous pouvez reprendre ou retraiter n’importe quel jeu d’importation. Pour plus d'informations, consultez Surveiller les jeux d’importations simultanées.

    Ensembles d’importation simultanés File d’attente des tâches

    Après avoir chargé les données, le système ajoute les jeux d’importation à la table Tâches de jeux d’importation simultanés. La table Tâches de jeux d’importation simultanés indique le type de tâche et l’état de chaque tâche de jeu d’importation simultanée.

    Pour plus d'informations, consultez Surveiller les tâches de jeux d’importations simultanées.

    Partitionnement des importations concurrentes

    Vous pouvez partitionner des jeux d’importation pour maintenir l’ordre de traitement au sein de chaque partition.

    Par défaut, le système alloue les enregistrements pour importer des jeux selon la méthode Round robin. Toutefois, vous pouvez écrire un script personnalisé pour définir une clé de partition personnalisée qui identifie le jeu d’importation cible. Chaque ligne avec la même clé de partition s’ajoute au même jeu d’importation, et les données de ce jeu d’importation sont traitées dans l’ordre séquentiel.

    Importations hiérarchiques

    Vous pouvez créer une hiérarchie de jeux d’importation planifiée en planifiant l’exécution d’une importation après la fin d’un autre jeu d’importation. Une importation planifiée parente peut avoir plusieurs importations planifiées enfants, et chaque importation planifiée enfant s’exécute dans l’ordre spécifié. Pour les importations planifiées simultanées, les importations planifiées enfants ne peuvent démarrer qu’une fois que toutes les tâches du transformateur de jeu d’importation sont terminées.

    La dernière tâche du transformateur de jeu d’importation démarre l’importation suivante dans la hiérarchie.

    Le système génère un plan d’exécution au début du processus d’importation parent. Chaque processus d’importation utilise le plan d’exécution pour récupérer le prochain processus à appeler. Pour les importations simultanées, la dernière tâche de transformateur de jeu d’importation récupère l’importation suivante et l’exécute.

    Insertions synchronisées

    Les champs de fusion aident à définir l’unicité entre les enregistrements. Le processus de transformation vérifie si un enregistrement existant contient des valeurs de fusion et met à jour l’enregistrement existant, s’il existe, ou insère un nouvel enregistrement s’il n’y en a pas. Pour plus d'informations, consultez Mise à jour d’enregistrements à l’aide de la fusion.

    Par défaut, les importations simultanées permettent à chaque jeu d’importation en cours d’exécution d’insérer de nouveaux enregistrements. Lorsqu’un jeu d’importation insère un enregistrement, il établit un verrou d’écriture sur la table cible pour empêcher d’autres jeux d’importation d’insérer le même enregistrement.

    Tables pour les importations simultanées

    Table Description
    Jeu d’importations simultanées (sys_concurrent_import_set) Stocke les détails de chaque jeu d’importations simultanées dans les enregistrements de jeux d’importation.
    Tâches de jeux d’importation simultanés (sys_concurrent_import_set_job) Répertorie les jeux d’importation à traiter.
    Contexte d’exécution de l’importation planifiée (sys_execution_context) Spécifie le contexte d’exécution de chaque importation planifiée. Le contexte d’exécution spécifie la prochaine importation planifiée à utiliser lors du traitement d’une importation planifiée hiérarchique.
    Plan d’exécution de l’importation planifiée hiérarchique (sys_execution_plan). Stocke le plan d’exécution pour les importations hiérarchiques. Le plan d’exécution est une arborescence qui identifie l’importation planifiée qui s’exécute après l’entrée planifiée précédente.

    Domain Separation avec importations simultanées

    Vous pouvez ajouter le champ sys_domain à une table d’importation planifiée pour activer Domain Separation pour le jeu d’importation. Les tâches de chargement et de transformation du jeu d’importation s’exécutent dans le domaine spécifié dans la tâche de jeu d’importation planifiée.