Processos em Segundo Plano Paralelos
Muitos processos foram criados para execução em paralelo a fim de acelerar a execução. Isso se chama execução do processo com vários “threads”.
O sistema fornece as seguintes estratégias de distribuição dos dados entre os vários threads.
-
Seleção SQL no Nível do Thread (THDS). Algumas vezes, esta estratégia é chamada de estratégia de “iterador de threads”. Nessa estratégia, a tarefa em batch usa a chave primária para determinar como distribuir de maneira uniforme os intervalos de chaves para cada thread. Cada thread é então responsável pela seleção dos registros. Nessa estratégia, os threads também devem selecionar novamente os dados periodicamente para liberar o cursor, o que ajuda no desempenho. Note que essa é a estratégia preferida, mas só pode ser usada sob as seguintes condições:
- Somente os dados de um objeto de manutenção estão em processamento.
- A chave primária do objeto de manutenção é uma chave numérica única gerada pelo sistema.
Observação:Os parâmetros podem ser usados para substituir os IDs mínimo e máximo. Para obter mais informações, consulte Parâmetros Fornecidos a Processos em Segundo Plano . -
Intervalos de Chaves (KEYS). Essa estratégia é semelhante à estratégia Seleção SQL no Nível do Thread e segue as mesmas condições de objeto de manutenção e chave primária, mas usa valores de chave reais para calcular intervalos de threads. Essa estratégia pode ser necessária em situações em que as chaves não se distribuem uniformemente entre os threads, resultando em tempos de conclusão de thread desiguais. Por exemplo, as entidades de conversão no esquema de preparação têm chaves legadas, que geralmente não são atribuídas uniformemente. Isso afeta os processos em batch de Validação de Objeto e resolução XML que são encadeados por chaves legadas.Observação:Essa estratégia não deve ser amplamente usada e, como tal, só é suportada pelos programas em batch Monitorar e Orientado a Plug-in Ad Hoc.
-
Seleção SQL no Nível da Tarefa (JOBS). Esta estratégia às vezes é chamada de estratégia de “commit padrão”. Nessa estratégia, as chaves dos registros a serem processados pela tarefa em batch são todas selecionadas primeiro e armazenadas em uma tabela temporária. A tarefa em batch então fornece cada thread com um intervalo de chaves que ele deve processar. Essa estratégia é usada se vários objetos de manutenção estão em processamento pela tarefa em batch, caso a chave primária do objeto de manutenção tenha várias partes ou se a chave primária não é numérica.
A lógica de usar vários threads está no fato de as chaves primárias dos dados principais e da transação serem geralmente chaves aleatórias geradas pelo sistema. Além disso, quando os dados estão particionados, espera-se que eles estejam particionados com base na chave primária.