Escolher uma tecnologia de processamento de fluxo no Azure

Este artigo compara as opções de tecnologia de processamento de fluxo em tempo real no Azure.

O processamento de fluxo em tempo real consome mensagens do armazenamento baseado em fila ou em arquivo, processa as mensagens e encaminha o resultado para outra fila de mensagens, repositório de arquivos ou banco de dados. O processamento pode incluir consulta, filtragem e agregação de mensagens. Os mecanismos de processamento de fluxo precisam ser capazes consumir intermináveis fluxos de dados e produzir resultados com latência mínima. Para obter mais informações, consulte Processamento em tempo real.

Quais são as opções disponíveis ao escolher uma tecnologia de processamento em tempo real?

No Azure, todos os seguintes armazenamentos de dados atenderão aos requisitos básicos que dão suporte ao processamento em tempo real:

Principais Critérios de Seleção

Para cenários de processamento em tempo real, comece escolhendo o serviço apropriado para suas necessidades respondendo a estas perguntas:

  • Você prefere uma abordagem declarativa ou imperativa para a criação da lógica de processamento de fluxo?

  • Você precisa de suporte interno para as janelas ou o processamento temporal?

  • Os dados são recebidos em formatos além do Avro, JSON ou CSV? Em caso afirmativo, considere opções que dão suporte a qualquer formato que usa código personalizado.

  • Você precisa dimensionar o processamento além de 1 GB/s? Nesse caso, considere as opções que podem ser dimensionadas com o tamanho do cluster.

Matriz de funcionalidades

As tabelas a seguir resumem as principais diferenças em funcionalidades.

Funcionalidades gerais

Funcionalidade Azure Stream Analytics HDInsight com Spark Streaming Apache Spark no Azure Databricks HDInsight com Storm Azure Functions WebJobs do Serviço de Aplicativo do Azure
Programação SQL, JavaScript C#/F#, Java, Python, Scala C#/F#, Java, Python, R, Scala C#, Java C#, F#, Java, Node.js, Python C#, Java, Node.js, PHP, Python
Paradigma de programação Declarativo Combinação de declarativo e imperativo Combinação de declarativo e imperativo Obrigatório Obrigatório Obrigatório
Modelo de preços Unidades de streaming Por hora de cluster Unidades do Databricks Por hora de cluster Por execução de função e consumo de recursos Por hora do plano de serviço de aplicativo

Funcionalidades de integração

Funcionalidade Azure Stream Analytics HDInsight com Spark Streaming Apache Spark no Azure Databricks HDInsight com Storm Azure Functions WebJobs do Serviço de Aplicativo do Azure
Entradas Hubs de Eventos do Azure, Hub IoT do Azure e Armazenamento de Blobs do Azure/ADLS Gen2 Hubs de Eventos, Hub IoT, Kafka, HDFS, Blobs de Armazenamento, Azure Data Lake Store Hubs de Eventos, Hub IoT, Kafka, HDFS, Blobs de Armazenamento, Azure Data Lake Store Hubs de Eventos, Hub IoT, Blobs de Armazenamento, Azure Data Lake Store Associações compatíveis Barramento de Serviço, Filas de Armazenamento, Blobs de Armazenamento, Hubs de Eventos, WebHooks, Azure Cosmos DB, Arquivos
Coletores Azure Data Lake Storage Gen 1, Azure Data Explorer, Banco de Dados do Azure para PostgreSQL, Banco de Dados SQL do Azure, Azure Synapse Analytics, Armazenamento de Blobs e Azure Data Lake Gen 2, Hubs de Eventos do Azure, Power BI, Armazenamento de Tabela do Azure, filas do Barramento de Serviço do Azure, tópicos do Barramento de Serviço do Azure, Azure Cosmos DB, Azure Functions HDFS, Kafka, Blobs de armazenamento, Azure Data Lake Store, Azure Cosmos DB HDFS, Kafka, Blobs de armazenamento, Azure Data Lake Store, Azure Cosmos DB Hubs de Eventos, Barramento de Serviço, Kafka Associações compatíveis Barramento de Serviço, Filas de Armazenamento, Blobs de Armazenamento, Hubs de Eventos, WebHooks, Azure Cosmos DB, Arquivos

Funcionalidades de processamento

Funcionalidade Azure Stream Analytics HDInsight com Spark Streaming Apache Spark no Azure Databricks HDInsight com Storm Azure Functions WebJobs do Serviço de Aplicativo do Azure
Suporte a janelas internas/temporal Sim Sim Sim Sim Não Não
Formatos de dados de entrada Avro, JSON ou CSV, codificados em UTF-8 Qualquer formato que usa um código personalizado Qualquer formato que usa um código personalizado Qualquer formato que usa um código personalizado Qualquer formato que usa um código personalizado Qualquer formato que usa um código personalizado
Escalabilidade Partições de consulta Limitado pelo tamanho do cluster Limitado pela configuração de escala de cluster do Databricks Limitado pelo tamanho do cluster Até 200 instâncias de aplicativo de funções processadas em paralelo Limitado pela capacidade do plano de serviço de aplicativo
Suporte à chegada tardia e manipulação de eventos fora de ordem Sim Sim Sim Sim Não Não

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Próximas etapas