Condividi tramite


Scegliere una tecnologia per l'elaborazione di flussi in Azure

Questo articolo mette a confronto le tecnologie disponibili per l'elaborazione di flussi in tempo reale in Azure.

L'elaborazione di flussi in tempo reale utilizza i messaggi provenienti da una coda o da un risorsa di archiviazione basata su file, li elabora e inoltra il risultato a un'altra coda di messaggi, a un archivio di file o a un database. L'elaborazione può includere operazioni di query, filtraggio e aggregazione sui messaggi. I motori per l'elaborazione di flussi devono essere in grado di utilizzare flussi di dati infiniti e generare risultati con una latenza minima. Per altre informazioni, vedere Elaborazione in tempo reale.

Opzioni disponibili per la scelta di una tecnologia per l'elaborazione in tempo reale

In Azure tutti gli archivi dati elencati di seguito soddisfano i requisiti di base per il supporto dell'elaborazione in tempo reale:

Criteri di scelta principali

Per gli scenari di elaborazione in tempo reale, rispondere prima di tutto a queste domande per scegliere il servizio adatto alle proprie esigenze:

  • Preferisci adottare un approccio dichiarativo o imperativo per creare la logica di elaborazione dei flussi?

  • Hai bisogno di supporto integrato per l'elaborazione temporale o la finestratura?

  • I dati arrivano in più formati oltre ad Avro, JSON o CSV? In caso affermativo, prendere in considerazione le opzioni che supportano qualsiasi formato tramite codice personalizzato.

  • È necessario aumentare la capacità di elaborazione oltre 1 GBps? In caso affermativo, prendere in considerazione le opzioni che supportano la scalabilità in base alla dimensione del cluster.

Matrice delle funzionalità

Le tabelle seguenti contengono un riepilogo delle differenze principali in termini di funzionalità.

Funzionalità generali

Capacità Analisi di flusso di Azure HDInsight con Spark Streaming Apache Spark in Azure Databricks Funzioni di Azure WebJobs di Azure App Service
Programmabilità SQL, JavaScript C#/F#, Java, Python, Scala C#/F#, Java, Python, R, Scala C#, F#, Java, Node.js, Python C#, Java, Node.js, PHP, Python
Paradigma di programmazione Dichiarativa Combinazione di dichiarativo e imperativo Combinazione di dichiarativo e imperativo Imperativo Imperativo
Modello di determinazione prezzi Unità di streaming Costo del nodo al minuto Unità di Databricks Per l'esecuzione delle funzioni e l'utilizzazione delle risorse Per ora del piano di servizio App

Funzionalità di integrazione

Capacità Analisi di flusso di Azure HDInsight con Spark Streaming Apache Spark in Azure Databricks Funzioni di Azure WebJobs di Azure App Service
Ingressi Hub eventi di Azure, hub IoT di Azure, archiviazione BLOB di Azure/Data Lake Storage Gen2 Event Hub, IoT Hub, Kafka, HDFS, Blob di Archiviazione, Azure Data Lake Store Event Hubs, Hub IoT, Kafka, HDFS, Blob di archiviazione, Azure Data Lake Store Associazioni supportate Bus di servizio, Code di archiviazione, Archiviazione Blob, Hub eventi, WebHooks, Azure Cosmos DB, File
Lavabi Azure Data Lake Storage Gen 1, Azure Data Explorer, Database di Azure per PostgreSQL, Azure SQL Database, Azure Synapse Analytics, Blob storage e Azure Data Lake Gen 2, Hub eventi di Azure, Power BI, Azure Table storage, Azure Service Bus queues, Azure Service Bus topics, Azure Cosmos DB, Funzioni di Azure HDFS, Kafka, Blob di archiviazione, Azure Data Lake Store, Azure Cosmos DB HDFS, Kafka, Blob di archiviazione, Azure Data Lake Store, Azure Cosmos DB Associazioni supportate Bus di servizio, Code di archiviazione, Archiviazione Blob, Hub eventi, WebHooks, Azure Cosmos DB, File

Funzionalità di elaborazione

Capacità Azure Stream Analytics HDInsight con Spark Streaming Apache Spark su Azure Databricks Funzioni di Azure WebJobs di Azure App Service
Supporto integrato per elaborazione temporale e finestre temporali No No
Formati dei dati in ingresso Avro, JSON o CSV, con codifica UTF-8 Qualsiasi formato con codice personalizzato Qualsiasi formato usando codice personalizzato. Qualsiasi formato usando codice personalizzato Qualsiasi formato con codice personalizzato
Scalabilità Partizioni di query Limitata in base alle dimensioni del cluster Limitata in base alla configurazione di scalabilità del cluster Databricks Elaborazione parallela di un massimo di 200 istanze di app per le funzioni Limitata dalla capacità del piano di servizio di App
Supporto per la gestione di eventi con arrivo in ritardo e in ordine errato No No

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Passaggi successivi