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

Há vários serviços disponíveis para processamento de streaming e análise em tempo real no Azure. Este artigo fornece as informações de que você precisa para decidir qual tecnologia é a melhor opção para o seu aplicativo.

Quando usar o Azure Stream Analytics

O Azure Stream Analytics é o serviço recomendado para análise de fluxo no Azure. Você pode usá-la para uma ampla variedade de cenários que incluem, dentre outros:

Adicionar um trabalho do Azure Stream Analytics ao seu aplicativo é a maneira mais rápida de colocar a análise de streaming em funcionamento 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 tempo de inatividade com um Contrato de Nível de Serviço (SLA) de 99,9% no nível do trabalho. A cobrança também é feita no nível do trabalho, tornando os custos de inicialização baixos (uma Unidade de Streaming), mas escalonáveis (até 396 Unidades de Streaming). É muito mais econômico executar alguns trabalhos do Stream Analytics do que executar e manter um cluster.

Azure Stream Analytics tem uma experiência completa e pronta para uso. Você pode aproveitar imediatamente os seguintes recursos sem nenhuma configuração extra:

  • Operadores temporais internos, como agregações em janelas, junções temporais e funções de análise temporal.
  • Adaptadores nativos de entrada e saída do Azure
  • Suporte para dados de referência de alteração 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 Detecção de Anomalias
  • Várias janelas de tempo na mesma consulta
  • Capacidade de compor vários operadores temporais em sequências arbitrárias.
  • Latência de ponta a ponta abaixo de 100 ms da entrada que chega aos Hubs de Eventos, até a saída de destino nos Hubs de Eventos, incluindo o atraso da rede de e para os Hubs de Eventos, mantendo uma alta taxa de transferência

Quando usar outras tecnologias

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

O Azure Stream Analytics é compatível com funções definidas pelo usuário (UDF) ou agregações definidas pelo usuário (UDA) em JavaScript para trabalhos de nuvem e C# para trabalhos de IoT Edge. Os desserializadores definidos pelo usuário de C# também são compatíveis. Se quiser implementar um desserializador, um UDF ou um UDA em outras linguagens, como Java ou Python, você poderá usar o Streaming Estruturado do Spark. Você também pode executar os Hubs de Eventos EventProcessorHost em suas próprias máquinas virtuais para executar o processamento de streaming arbitrário.

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

O Azure Stream Analytics é uma tecnologia proprietária da Microsoft e está disponível apenas no Azure. Se você precisar que sua solução seja portátil entre nuvens ou locais, considere tecnologias open-source, como o Streaming Estruturado do Spark ou o Apache Flink.

Próximas etapas