Processus en arrière-plan parallèles
De nombreux processus ont été conçus pour s'exécuter en parallèle afin d'en accélérer l'exécution. C'est ce que l'on appelle exécuter les processus avec plusieurs "threads".
Le système propose les stratégies suivantes pour la répartition des données dans plusieurs threads.
-
Sélection SQL de niveau thread (THDS). Cette stratégie est parfois appelée stratégie "d'itération de thread". Dans cette stratégie, le traitement batch utilise la clé primaire pour déterminer comment répartir uniformément les plages de clés entre les différents threads. Chaque thread est alors responsable de la sélection des enregistrements. Dans cette stratégie, les threads doivent régulièrement sélectionner à nouveau les données afin de libérer le curseur, ce qui permet de meilleures performances. A noter que cette stratégie est préférable, mais n'est utilisable que dans les conditions suivantes :
- Les données d'un seul objet de maintenance sont traitées.
- La clé primaire de l'objet de maintenance est une clé numérique simple générée par le système.
Remarque :Des paramètres peuvent être utilisés pour remplacer les ID inférieur et supérieur. Pour plus d'informations, voir Paramètres spécifiés pour les processus en arrière-plan. -
Plages de clés (KEYS). Cette stratégie est similaire à la stratégie de sélection SQL de niveau thread et suit les mêmes conditions d'objet de maintenance et de clé primaire, mais utilise les valeurs de clé réelles pour calculer les plages de threads. Une telle stratégie peut être nécessaire dans les cas où les clés ne sont pas réparties uniformément entre les threads, ce qui entraîne des temps d'exécution inégaux des threads. Par exemple, les entités de conversion dans le schéma intermédiaire ont des clés héritées, qui ne sont généralement pas affectées uniformément. Cela impacte les traitements batch de validation d'objet et de résolution XML qui appliquent un threading par clés héritées.Remarque :Cette stratégie ne doit pas être utilisée de façon étendue et elle est uniquement prise en charge par les programmes batch Surveillance et Ad hoc.
-
Sélection SQL de niveau traitement (JOBS). Cette stratégie est parfois appelée stratégie "de validation standard". Dans cette stratégie, les clés des enregistrements que le traitement batch doit traiter sont d'abord toutes sélectionnées et stockées dans une table temporaire. Le traitement batch fournit ensuite à chaque thread la plage de clés qu'il doit traiter. Cette stratégie est utilisée lorsque le traitement batch concerne plusieurs objets de maintenance, lorsque la clé primaire de l'objet de maintenance est composée ou lorsqu'elle n'est pas numérique.
La logique multithread se base sur le fait que les clés primaires des données principales et des données de transaction sont généralement des clés aléatoires générées par le système. En outre, si les données sont partitionnées, on s'attend à ce qu'elles le soient d'après la clé primaire.
