Agente de extração de dados.
- O agente pode ser configurado para ser acionado a cada n minutos. Por padrão, o agente é acionado a cada 10 minutos
- O agente também pode ser configurado para ser executado com vários encadeamentos paralelos e várias JVMs Por padrão, o agente é executado com 20 encadeamentos
Deve-se executar a extração de dados usando apenas um único critério de agente extra de dados em um servidor de agente dedicado em um determinado momento Não deve-se executar a extração de dados com diversos critérios do agente ao mesmo tempo
Para obter mais informações sobre como configurar o agente de extração de dados para trabalhar dentro de seus ambientes, consulte Configurando a extração de dados
Processo de extração de dados:
- O agente de extração de dados faz a ferramenta de extração executar e ler as configurações da tabela de extração do banco de dados de produção. O status para cada configuração de tabela válida é verificado, para determinar quais tabelas precisam ter extração de dados Antes de iniciar o processo de extração de dados, se o banco de dados de backup estiver inativo ou configurado incorretamente, a ferramenta de extração exibirá uma mensagem de avisoNotas:
- Ao executar a ferramenta de extração pela primeira vez e se a mensagem de aviso for exibida, verifique a configuração do banco de dados de backup e execute a ferramenta de extração novamente. Caso contrário, aguarde algum tempo para a ferramenta de extração de dados estabelecer conexão com o banco de dados de backup.
- A extração de dados é atrasada quando o banco de dados de backup está no modo de manutenção ou reprodução.
Quando o agente é executado pela primeira vez, a consulta inclui todos os registros que foram modificados desde os últimos n dias, em que n é especificado pelo atributo FirstRunExtractInDays especificado. Toda vez que uma consulta é executada após, o agente de extração considera o horário de início como o horário de encerramento a partir de quando a ferramenta de extração foi executada pela última vez para a consulta. O horário de encerramento é calculado como o horário atual-uma hora. O intervalo de 1 hora assegura que todos os dados que estão sendo extraídos sejam copiados no banco de dados de backup. O intervalo de 1 hora também assegura que todos os dados sejam carregados no banco de dados de backup e essa ferramenta não está colocando carga no segmento de dados recente.Nota: por padrão, o agente usa o intervalo de tempo de 1 hora, a menos que ele seja substituído por um valor> 1 na propriedadeyfs.yfs.coc.dataextract.fetch.maxhoursold. Também é possível reduzir o valor de 1 hora, usando a propriedadeyfs.yfs.coc.dataextract.fetch.maxminsold. - A ferramenta de extração então forma consultas com base na configuração da tabela.
- A ferramenta de extração se conecta ao banco de dados de produção de backup e executa a consulta SQL no banco de dados para recuperar os dados que correspondem aos resultados da consulta. A ferramenta de extração de dados extrai dados apenas do banco de dados de transações de backup, não do banco de dados de produção principal Ao extrair dados do banco de dados de backup, o processo de extração não afeta o desempenho do banco de dados principal.
A ferramenta de extração extrai dados entre os horários de início e de encerramento do processo de extração. Esses horários são baseados no registro de data e hora da última modificação para o último registro extraído do horário anterior em que o processo de extração foi executado.
Se a extração envolver muitos dados, os dados poderão ser extraídos em tarefas separadas com intervalos de tempo de início e de término diferentes Para cada configuração de tabela, a ferramenta de extração verifica a quantidade correspondente de dados a serem extraídos O agente então cria o número necessário de tarefas para extrair os dados.
- A ferramenta de extração grava os resultados da consulta nos arquivos de saída formatados CSV e inclui cada arquivo em um arquivo compactado (.zip). Cada arquivo de saída possui o mesmo nome do arquivo compactado correspondente para transferir os dados. Os nomes de arquivos usam a seguinte convenção de nomenclatura:
- taskID__tableName__extractQueryStart_extractQueryEnd_jobNumber_of_totalNumberOfJobs.csv
- taskID
- O ID da tarefa.
- tableName
- O nome da tabela de banco de dados
- extractQueryStart
- O registro de data e hora em que o processo de extração foi iniciado
- extractQueryEnd
- O registro de data e hora em que o processo de extração foi concluído
- jobNumber_of_totalNumberOfJobs
- O número de série para a tarefa de extracção de dados em relação ao número total de tarefas de extracção de dados.
- A ferramenta de extração envia os arquivos compactados em um fluxo para o seu servidor de transferência de arquivos O arquivo não é gravado no sistema de arquivos em um ambiente doIBM Sterling Order Management System. Quando a última tarefa for processada, o agente verificará se a transferência de arquivos foi concluída para todos os arquivos de todas as tarefas para cada configuração de tabela que é executada Se as transferências forem concluídas, o agente criará e transferirá um arquivo .DONE de zero bytes para cada configuração de tabela..
Formato de arquivo de saída
A saída de cada tarefa de extração de dados é formatado em um arquivo formatado CSV..- Valores separados por vírgula de cada coluna a ser extraída na mesma ordem definida no serviço de gerenciamento de configuração
- Nenhuma linha de cabeçalho de nomes de colunas
- Cada valor está entre aspas duplas. Aspas duplas reais dentro de um valor são escapadas por outra aspa dupla.
- Qualquer valor que inclua um caractere de nova linha, como -remove all, é removido..
Cenário de execução de amostra
Uma extração é configurada para ser executada para as seguintes condições e definições configuradas (assumindo uma data atual de 24/06/2016):- A frequência da tarefa OrderExt e da tabela de banco de dados YFS_ORDER_HEADER é de 24 horas. A extração de dados ocorre diariamente aproximadamente às 8h.
- Existem 24.000 registros entre as 7h do dia anterior e as 7h do dia atual.
- O cálculo de memória interna limita o processo de extração para extrair 7000 registros por vez.
Os arquivos de saída gerados são semelhantes aos arquivos a seguir. Cada arquivo inclui o registro de data e hora do processo de extração dentro do nome do arquivo
| # | Nome do arquivo | Linhas |
|---|---|---|
| 1 | OrderExt__YFS_ORDER_HEADER_20160623050000_20160623070000_1_of_4.zip | 7000 |
| 2 | OrderExt__YFS_ORDER_HEADER_20160623050000_20160623070000_2_of_4.zip | 7000 |
| 3 | OrderExt__YFS_ORDER_HEADER_20160623050000_20160623070000_3_of_4.zip | 7000 |
| 4 | OrderExt__YFS_ORDER_HEADER_20160623050000_20160623070000_4_of_4.zip | 3000 |
| 5 | OrderExt__YFS_ORDER_HEADER_20160623050000_20160623070000.DONE |
Se um ou mais arquivos para uma determinada tabela falharem ao serem extraídos ou transferidos para o serviço de armazenamento de arquivo configurado enquanto outros arquivos forem extraídos ou transferidos com êxito, a extração da tabela inteira será processada novamente Para os arquivos que foram extraídos e transferidos com êxito, os arquivos são extraídos e transferidos novamente
Como exemplo, neste cenário de extração de amostra, se as tarefas 1 e 4 falharem e as tarefas 2, 3 e 5 forem bem-sucedidas, o processo inteiro será executado novamente. Quando o processo é executado novamente, os arquivos para todas as cinco tarefas são extraídos e transferidos, com os arquivos para as tarefas 2, 3 e 5 transferidos novamente..
Limpando tarefas de extração de dados
Se estiver usando extração de dados extensivamente, a tabela de tarefas de extração de dados será preenchida rapidamente. Os dados nesta tabela são úteis para triagem de extrações com falha que ocorreram no passado. Portanto, excluir dados do passado imediato não é recomendado. No entanto, a maioria dos dados, que é antiga, deve ser limpa da tabela principal para melhorar o desempenho de consultas nessa tabela..
Para limpar a tabela antes de iniciar as tarefas de extração de dados, é possível especificar o número de dias para os quais os registros devem ser excluídos da tabela, configurando a propriedade yfs.yfs.coc.dataextract.jobpurge.leadDays
Essa propriedade não é configurada por padrão; ou seja, os registros de tarefa não são limpos por padrão O valor para essa propriedade deve ser maior que 120 dias.
Se essa propriedade for configurada para um valor menor ou igual a 120, será lançado um erro. Os registros para dias até 120 dias não podem ser excluídos Se o processo de limpeza falhar por qualquer motivo, o processo de extração de dados ainda continuará com sua tarefa principal de extrair dados.