Condividi tramite


Scegliere una tecnologia di analisi e elaborazione di streaming in tempo reale in Azure

Sono disponibili diversi servizi per l'analisi in tempo reale e l'elaborazione di flussi in Azure. Questo articolo fornisce le informazioni necessarie per decidere quale tecnologia è la soluzione migliore per l'applicazione.

Quando usare Analisi di flusso di Azure

Analisi di flusso di Azure è il servizio consigliato per l'analisi di flusso in Azure. È possibile usarlo per un'ampia gamma di scenari che includono, ma non sono limitati a:

L'aggiunta di un processo di Analisi di flusso di Azure all'applicazione è il modo più veloce per attivare l'analisi di flusso in Azure usando il linguaggio SQL già noto. Analisi di flusso di Azure è un servizio di processo, quindi non è necessario dedicare tempo alla gestione dei cluster e non è necessario preoccuparsi del tempo di inattività con un contratto di servizio del 99,9% a livello di processo. La fatturazione viene eseguita anche a livello di processo, rendendo i costi di avvio bassi (un'unità di streaming), ma scalabile (fino a 396 unità di streaming). È molto più conveniente eseguire alcuni processi di Analisi di flusso rispetto all'esecuzione e alla gestione di un cluster.

Analisi di flusso di Azure offre un'esperienza predefinita avanzata. È possibile sfruttare immediatamente le funzionalità seguenti senza alcuna configurazione aggiuntiva:

  • Operatori temporali predefiniti, ad esempio aggregazioni finestrate, join temporali e funzioni di analisi temporale.
  • Adattatori di input e output nativi di Azure
  • Supporto per i dati di riferimento a modifica lenta (nota anche come tabelle di ricerca), incluso il join con i dati di riferimento geospaziali per il geofencing.
  • Soluzioni integrate, ad esempio rilevamento anomalie
  • Più finestre temporali nella stessa query
  • Possibilità di comporre più operatori temporali in sequenze arbitrarie.
  • Con una latenza end-to-end di 100 ms dall'input in arrivo in Hub eventi, all'output di destinazione in Hub eventi, incluso il ritardo di rete da e verso Hub eventi, con velocità effettiva elevata sostenuta

Quando usare altre tecnologie

Si vogliono scrivere funzioni UDF, aggregazioni UDA e deserializzatori personalizzati in un linguaggio diverso da JavaScript o C#

Analisi di flusso di Azure supporta funzioni definite dall'utente o aggregazioni definite dall'utente (UDA) in JavaScript per i processi cloud e C# per i processi IoT Edge. Sono supportati anche deserializzatori definiti dall'utente C#. Se si vuole implementare un deserializzatore, una funzione UDF o un'aggregazione UDA in altri linguaggi, ad esempio Java o Python, è possibile usare Spark Structured Streaming. È anche possibile eseguire EventProcessorHost di Hub eventi nelle proprie macchine virtuali per eseguire l'elaborazione arbitraria del flusso.

La soluzione è ospitata in un ambiente multi-cloud o locale

Analisi di flusso di Azure è la tecnologia proprietaria di Microsoft ed è disponibile solo in Azure. Se è necessario che la soluzione sia portabile tra cloud o locali, prendere in considerazione tecnologie open source come Spark Structured Streaming o Apache Flink.

Passaggi successivi