O que é processamento em lote?
O processamento em lote é o método que os computadores usam para concluir periodicamente trabalhos de dados repetitivos de alto volume. Certas tarefas de processamento de dados, como backups, filtragem e classificação, podem ser intensivas em computação e ineficientes para serem executadas em transações de dados individuais. Em vez disso, os sistemas de dados processam essas tarefas em lotes, geralmente fora dos horários de pico, quando os recursos de computação estão mais comumente disponíveis, como no final do dia ou durante a noite. Por exemplo, considere um sistema de comércio eletrônico que recebe pedidos ao longo do dia. Em vez de processar todos os pedidos à medida que ocorrem, o sistema pode coletar todos os pedidos no final de cada dia e compartilhá-los em um lote com a equipe de atendimento de pedidos.
Por que o processamento em lote é importante?
As organizações usam o processamento em lote porque ele requer interação humana mínima e torna as tarefas repetitivas mais eficientes de serem executadas. Você pode configurar lotes de trabalhos compostos por milhões de registros para serem trabalhados juntos quando a potência computacional estiver mais prontamente disponível, colocando menos estresse em seus sistemas. O processamento em lote moderno também requer supervisão ou gerenciamento humano mínimo. Se houver um problema, o sistema notifica automaticamente a equipe em questão para resolvê-lo. Os gerentes adotam uma abordagem sem intervenção, confiando em seu software de processamento em lote para fazer seu trabalho. Seguem-se mais benefícios do processamento em lote.
Qual é a história do processamento em lote?
O processamento em lote tem mais de um século, embora os detalhes técnicos de como ele funciona tenham evoluído continuamente. A primeira instância de processamento em lote remonta a 1890, quando um tabulador eletrônico foi usado para registrar informações para o United States Census Bureau. Os funcionários do censo marcaram os cartões de dados - chamados cartões perfurados - e os processaram em lotes por meio de um dispositivo eletromecânico. Na década de 1960, os desenvolvedores podiam programar programas em lote em fita magnética para que os computadores fossem executados sequencialmente ao longo do dia. Os trabalhos em lote também se tornaram comuns à medida que o computador mainframe melhorava e se tornava mais poderoso e eficiente. As organizações modernas usam aplicações em lote baseadas em software para processos comerciais comuns, como geração de relatórios, impressão de documentos ou atualização de informações no final do dia.
Quais são os exemplos de trabalhos que o processamento em lote pode automatizar?
Os sistemas de processo em lote são usados para processar vários tipos de dados e solicitações. Alguns dos tipos mais comuns de trabalhos de processamento em lote incluem:
- Faturamento semanal/mensal
- Folha de pagamento
- Processamento de estoque
- Geração de relatórios
- Conversão de dados
- Ciclos de assinatura
- Cumprimento da cadeia de suprimentos
Quais são alguns casos de uso de sistemas de processamento em lote?
Existem vários casos de uso de sistemas de processamento em lote. Os principais exemplos a seguir.
Serviços financeiros
Organizações de serviços financeiros, de tecnologias financeiras ágeis a empresas legadas, têm usado o processamento em lote em áreas como computação de alta performance para gerenciamento de riscos, processamento de transações no final do dia e vigilância de fraudes. Eles usam o processamento em lote para minimizar o erro humano, aumentar a velocidade e a precisão e reduzir custos com a automação.
Software como serviço
As empresas que fornecem aplicações de software como serviço (SaaS) geralmente enfrentam problemas quando se trata de escalabilidade. Usando o processamento em lote, você pode dimensionar a demanda do cliente enquanto automatiza o agendamento de trabalhos. Criar ambientes de aplicações em contêineres para dimensionar a demanda por processamento de alto volume é um projeto que pode levar meses ou até anos para ser concluído, mas os sistemas de processamento em lote ajudam você a alcançar o mesmo resultado em um período de tempo muito mais curto.
Pesquisa médica
A análise de grandes quantidades de dados, ou big data, é um requisito comum no campo da pesquisa. Você pode aplicar o processamento em lote em aplicações de análise de dados, como química computacional, modelagem clínica, dinâmica molecular e testes e análises de sequenciamento genômico. Por exemplo, os cientistas usam o processamento em lote para capturar dados melhores para iniciar o projeto do medicamento e obter uma compreensão mais profunda do papel de um processo bioquímico específico.
Mídia digital
As empresas de mídia e entretenimento exigem sistemas de processamento em lote altamente escaláveis para processar dados automaticamente, como arquivos, gráficos e efeitos visuais, para conteúdo de vídeo de alta resolução. Você pode usar o processamento em lote para acelerar a criação de conteúdo, dimensionar dinamicamente o empacotamento de mídia e automatizar a workload de mídia.
Como funciona o processamento em lote?
Embora as aplicações de processamento em lote variem dependendo do tipo de tarefa que precisa ser realizada, os princípios básicos de qualquer trabalho em lote permanecem os mesmos. O usuário pode executar trabalhos em lote especificando os seguintes detalhes:
- Nome da pessoa que envia o trabalho
- Processos ou programas em lote que precisam ser executados
- Localização do sistema da entrada de dados
- Local do sistema para saída de dados processados
- Hora, ou janela do lote, quando o trabalho em lotes deve ser executado
O usuário também especifica o tamanho do lote ou o número de unidades de trabalho que o sistema precisa processar em uma operação em lote completa. Alguns exemplos de tamanho de lote incluem:
- Número de linhas de arquivo em lote para ler e armazenar no banco de dados
- Número de mensagens a serem lidas e processadas em uma fila
- Número de transações a serem classificadas e enviadas para a próxima aplicação
Durante a janela do lote, o sistema de processamento em lote usa as informações de tamanho do lote para alocar os recursos necessários para executar o trabalho em lotes com eficiência. Os sistemas modernos podem executar centenas de milhares de trabalhos em lote no local ou na nuvem.
Dependências
As tarefas de trabalho em lote podem ser executadas sequencialmente ou simultaneamente. As sequências podem diferir dependendo se uma tarefa anterior foi concluída com êxito. Exemplos de dependências incluem um cliente fazendo um pedido em uma loja on-line ou pagando uma conta. Uma dependência também pode ser configurada para iniciar um ciclo de processamento de trabalho.
Comandos cron
Um comando cron é um trabalho em lote executado regularmente. Você pode configurar padrões de recorrência para trabalhos em lote, por exemplo, configurar um trabalho para faturar assinaturas no final de cada mês.
Como você pode monitorar o processamento em lote?
Embora os sistemas de processamento em lote trabalhem com o mínimo de informações do pessoal, eles ainda precisam de alguma supervisão. Para monitorar processos em lote, você pode configurar alertas (ou exceções) que são enviados quando o trabalho em lote é bem-sucedido, falha ou termina de ser executado.
Monitores
Monitores em processos em lote procuram anormalidades, como um trabalho demorando mais do que deveria para ser concluído. Nesse caso, interromperia o próximo trabalho do início e informaria a equipe relevante da exceção.
Análise pós-processamento
Você pode visualizar o histórico de um trabalho em lotes depois que ele tiver sido processado. A maioria dos processos em lote inclui arquivos de log que registram mensagens enquanto o trabalho estava em execução.
Qual é a diferença entre processamento em lote e processamento em fluxo?
Enquanto os sistemas em lote processam grandes volumes de dados e solicitações em ordem sequencial, o processamento de fluxo analisa continuamente os dados que fluem através de um sistema ou entre dispositivos. O processamento de fluxos monitora dados em tempo real e os transmite continuamente na rede. Ele requer mais poder de processamento para monitorar as grandes quantidades de dados.
Quando o tamanho dos dados que estão sendo transmitidos não é conhecido ou é infinito, pode ser melhor usar dados de streaming em vez do processamento em lote. Como resultado, o processamento de fluxo é comumente usado para funções de negócios, como segurança cibernética, Internet das Coisas (IoT), serviços de marketing personalizados e monitoramento de logs.
Dadas suas capacidades complementares, algumas empresas implementaram um sistema híbrido que inclui processamento em lote e processamento de fluxo em suas operações diárias.
Como a AWS ajuda com o processamento em lote?
Você pode economizar até 90% no processamento de lotes totalmente gerenciado com o AWS Batch. O AWS Batch provisiona dinamicamente a quantidade e o tipo ideais de recursos de computação, como instâncias otimizadas para CPU ou memória, e elimina a necessidade de instalar e gerenciar a infraestrutura do sistema de processamento em lote. Você pode gastar menos tempo gerenciando a infraestrutura e mais tempo analisando resultados e resolvendo problemas.
Você também pode executar suas workloads em lote nas instâncias spot do Amazon Elastic Compute Cloud (Amazon EC2). As instâncias spot do Amazon EC2 são sua capacidade não utilizada do Amazon EC2 disponível com um desconto de até 90% em comparação com os preços das instâncias sob demanda. As instâncias spot são ideais para aplicações de processamento em lote porque você pode executar workloads em hiperescala com uma economia significativa de custos ou pode acelerar suas workloads executando tarefas paralelas.
Comece a usar o processamento em lote criando uma conta da AWS.
Próximas etapas do processamento em lotes na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.
Comece a compilar com o AWS Batch no Console de Gerenciamento da AWS.