Escolha uma tecnologia de processamento de streaming e análise em tempo real no Azure

Há vários serviços disponíveis para análise em tempo real e processamento de streaming no Azure. Este artigo fornece as informações necessárias para decidir qual tecnologia é a mais adequada para sua aplicação.

Quando usar o Azure Stream Analytics

O Azure Stream Analytics é o serviço recomendado para análise de fluxo no Azure. Você pode usá-lo para uma ampla variedade de cenários que incluem, mas não estão limitados a:

Adicionar um trabalho do Azure Stream Analytics ao seu aplicativo é a maneira mais rápida de colocar a análise de streaming em execução no Azure, usando a linguagem SQL que você já conhece. O Azure Stream Analytics é um serviço de trabalho, portanto, você não precisa gastar tempo gerenciando clusters e não precisa se preocupar com o tempo de inatividade com um SLA (Service Level Agreement, contrato de nível de serviço) de 99,9% no nível do trabalho. O faturamento também é feito no nível do trabalho, tornando os custos de inicialização baixos (uma Unidade de Streaming), mas escaláveis (até 396 Unidades de Streaming). É muito mais econômico executar alguns trabalhos do Stream Analytics do que executar e manter um cluster.

O Azure Stream Analytics tem uma experiência avançada e pronta para uso. Pode tirar partido imediatamente das seguintes funcionalidades sem qualquer configuração adicional:

  • Operadores temporais incorporados, tais como agregados em janela, junções temporais e funções analíticas temporais.
  • Adaptadores de entrada e saída nativos do Azure
  • Suporte para dados de referência de mudança lenta (também conhecidos como tabelas de pesquisa), incluindo a junção com dados de referência geoespaciais para delimitação geográfica.
  • Soluções integradas, como a Deteção de Anomalias
  • Várias janelas de tempo na mesma consulta
  • Capacidade de compor múltiplos operadores temporais em sequências arbitrárias.
  • Latência de ponta a ponta inferior a 100 ms, desde a entrada que chega aos Hubs de Eventos até o pouso de saída nos Hubs de Eventos, incluindo o atraso da rede de e para os Hubs de Eventos, com alta taxa de transferência sustentada

Quando utilizar outras tecnologias

Você deseja escrever UDFs, UDAs e desserializadores personalizados em uma linguagem diferente de JavaScript ou C#

O Azure Stream Analytics dá suporte a funções definidas pelo usuário (UDF) ou agregações definidas pelo usuário (UDA) em JavaScript para trabalhos na nuvem e C# para trabalhos do IoT Edge. Desserializadores definidos pelo usuário em C# também são suportados. Se você quiser implementar um desserializador, um UDF ou um UDA em outras linguagens, como Java ou Python, você pode usar o Spark Structured Streaming. Você também pode executar o Event Hubs EventProcessorHost em suas próprias máquinas virtuais para fazer processamento de streaming arbitrário.

Sua solução está em um ambiente multicloud ou local

O Azure Stream Analytics é a tecnologia proprietária da Microsoft e só está disponível no Azure. Se você precisar que sua solução seja portátil em nuvens ou localmente, considere tecnologias de código aberto, como Spark Structured Streaming ou Apache Flink.

Próximos passos