Importations concurrentes
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.
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 des importations concurrentes
Vous activez les importations simultanées en sélectionnant 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 à deux nœuds produit quatre jeux d’importation, et une grappe de dix nœuds produit dix ensembles d’importation.
Tâche de transformateur des ensembles de données à importer
Chaque nœud actif exécute deux tâches de transformateur de jeu d’importation chaque minute, et ces tâches interrogent la file d’attente des tâches de jeux concurrents d’importation, 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 concurrents d’importation
Chaque importation simultanée crée un enregistrement de jeu concurrent d’importation. La vue du formulaire affiche tous les jeux d’importation, les travaux de jeux d’importation simultanés 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 concurrents d’importation File d’attente des tâches
Une fois les données chargées, le système ajoute les ensembles d’importation à la table Tâches des ensembles concurrents d’importation. La table Tâches de jeux concurrents d’importation indique le type de tâche et l’état de chaque tâche de jeu concurrents d’importation.
Pour plus d'informations, consultez Surveiller les tâches de jeux concurrents d’importation.
Partitionnement des importations simultanées
Vous pouvez partitionner les jeux d’importation pour conserver l’ordre de traitement au sein de chaque partition.
Par défaut, le système alloue des enregistrements à des jeux d’importation 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 parent 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 de 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 processus suivant à invoquer. 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 s’il existe un enregistrement avec les valeurs de fusion et met à jour l’enregistrement existant, s’il existe, ou insère un nouvel enregistrement s’il n’en existe pas. Pour plus d'informations, consultez Mise à jour des enregistrements à l’aide de la fusion.
Par défaut, les importations simultanées permettent à chaque jeu d’importation en cours 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 concurrents d’importation (sys_concurrent_import_set) | Stocke les détails de chaque jeu d’importation simultané dans les enregistrements de jeu d’importation. |
| Tâches de jeux concurrents d’importation (sys_concurrent_import_set_job) | Répertorie les ensembles 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. |
Séparation de domaine avec importations simultanées
Vous pouvez ajouter le champ sys_domain à une table d’importation planifiée pour activer Séparation de domaine 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 le travail de jeu d’importation planifié.