Compartilhar via


Modo em tempo real no Streaming Estruturado

Esta página descreve os conceitos por trás do modo em tempo real no Streaming Estruturado, incluindo o que é, como ele alcança baixa latência e quando usá-lo.

O que é o modo em tempo real?

O modo em tempo real é um tipo de gatilho para o Streaming Estruturado que permite o processamento de dados de latência ultra-baixa com latência de ponta a ponta de até cinco milissegundos. Use o modo em tempo real para cargas de trabalho operacionais que exigem resposta imediata aos dados de streaming, como detecção de fraudes, personalização em tempo real e sistemas de tomada de decisões instantâneas.

Como o modo em tempo real obtém baixa latência

O modo em tempo real melhora a arquitetura de execução:

  • Executando lotes de execução longa (o padrão é cinco minutos), no qual o sistema processa dados conforme eles ficam disponíveis na origem.
  • Agendando todos os estágios da consulta simultaneamente. Isso requer que o número de slots de tarefas disponíveis seja igual ou maior que o número de tarefas de todos os estágios em um lote.
  • Transferência de dados entre estágios, assim que são produzidos, usando shuffle em streaming.

Ao final do processamento de um lote e antes do início do próximo lote, os pontos de verificação de Streaming Estruturado progridem e publicam as métricas. A duração do lote afeta a frequência de ponto de verificação:

  • Para lotes mais longos, checkpoints ocorrem com menos frequência, o que resulta em repetições mais longas do processamento em caso de falha e em atraso na disponibilidade de métricas.
  • Para lotes mais curtos, o ponto de verificação ocorre com mais frequência, o que pode afetar a latência.

Azure Databricks recomenda o modo de comparação em tempo real em relação à carga de trabalho de destino para localizar o intervalo de gatilho apropriado.

Quando usar o modo em tempo real

Selecione o modo em tempo real quando o caso de uso exigir:

  • Latência de sub-segundo: aplicativos que precisam responder aos dados dentro de milissegundos. Por exemplo, bloquear ou sinalizar uma transação de cartão de crédito em tempo real se uma pontuação de fraude exceder um limite com base em localização incomum, tamanho de transação grande ou padrões de gastos rápidos.
  • Tomada de decisão operacional: sistemas que disparam ações imediatas com base em dados de entrada. Por exemplo, a entrega de uma mensagem promocional quando os dados de clickstream mostram que um usuário está procurando um produto, oferecendo um desconto se comprar nos próximos 15 minutos.
  • Processamento contínuo: cargas de trabalho em que os dados devem ser processados assim que chegam, em vez de em lotes periódicos.

Use o modo de microlote (o gatilho de streaming estruturado padrão) quando o caso de uso exigir:

  • Processamento analítico: pipelines de ETL, transformações de dados e implementações de arquitetura de medalhão em que os requisitos de latência são medidos em segundos ou minutos.
  • Otimização de custo: cargas de trabalho em que a latência de sub-segundo não é necessária, pois o modo em tempo real requer recursos de computação dedicados.
  • A frequência do ponto de verificação é importante: aplicativos que se beneficiam de pontos de verificação mais frequentes para uma recuperação mais rápida.

Suporte e limitações de recursos

Para obter uma lista completa dos ambientes com suporte, idiomas, tipos de computação, fontes, coletores, operadores e limitações conhecidas, consulte a referência de modo em tempo real.

Recursos adicionais