Esplorare gli elementi comuni dell'architettura di elaborazione dei flussi
Suggerimento
Per altri dettagli, vedi la scheda Testo e immagini .
Esistono molte tecnologie che possono essere usate per implementare una soluzione di elaborazione dei flussi, ma, mentre i dettagli specifici dell'implementazione possono variare, alcuni elementi sono comuni alla maggior parte delle architetture di elaborazione dei flussi.
Architettura generale per l'elaborazione dei flussi
Nella sua forma più semplice, un'architettura generale per l'elaborazione dei flussi si presenta come segue:
Un evento genera dei dati. Potrebbe trattarsi dell'emissione di un segnale da parte di un sensore, della pubblicazione di un messaggio su un social media, della scrittura di una voce in un file di log o di qualsiasi altro evento che produca dati digitali.
I dati generati vengono acquisiti in un'origine in streaming per l'elaborazione. In casi semplici, l'origine può essere una cartella in un archivio dati cloud o una tabella in un database. Nelle soluzioni di streaming più affidabili, l'origine può essere una coda che incapsula la logica per garantire che i dati dell'evento vengano elaborati in ordine e che ogni evento venga elaborato una sola volta.
I dati dell'evento vengono elaborati, spesso da una query perpetua che opera sui dati dell'evento per selezionare i dati per tipi specifici di eventi, valori di dati di progetto o valori di dati aggregati in periodi temporali (basati sul tempo) (o finestre), ad esempio conteggiando il numero di emissioni di sensori al minuto.
I risultati dell'operazione di elaborazione dei flussi vengono scritti in un output (o sink), che può essere un file, una tabella di database, un dashboard visivo in tempo reale o un'altra coda per un'ulteriore elaborazione da parte di una successiva query downstream.
Servizi di analisi in tempo reale
Microsoft supporta diverse tecnologie che possono essere usate per implementare l'analisi in tempo reale dei dati in streaming, tra cui:
Microsoft Fabric Real-Time Intelligence: set di strumenti completo e integrato per i dati in tempo reale integrati in Microsoft Fabric. Include Eventstreams (per inserire, instradare e trasformare i dati di streaming), Eventhouse (un database ottimizzato per i dati di serie temporali ed eventi, sottoposto a query usando KQL - Linguaggio di query Kusto, un linguaggio di query progettato per l'analisi rapida dei log e della telemetria), Real-Time Dashboard (per la visualizzazione dei dati live) e Activator (per attivare azioni automatizzate quando i dati di streaming soddisfano le condizioni definite). L'assistenza per l'intelligenza artificiale in Fabric Real-Time Intelligence consente di generare query KQL da domande in linguaggio naturale.
Spark Structured Streaming: libreria open source che consente di sviluppare soluzioni di streaming complesse in servizi basati su Apache Spark, tra cui Azure Databricks e Microsoft Fabric.
Analisi di flusso di Azure: una soluzione PaaS (Platform-as-a-Service) che è possibile usare per definire processi streaming che inseriscono dati da un'origine di streaming, applicare una query perpetual e scrivere i risultati in un output. È un'opzione solida per scenari di streaming autonomi o ibridi all'esterno di Fabric.
Origini per l'elaborazione dei flussi
I servizi seguenti vengono comunemente usati per inserire i dati per l'elaborazione dei flussi in Azure:
Hub eventi di Azure: un servizio di inserimento dati che è possibile usare per inserire volumi elevati di dati degli eventi. Gli eventi all'interno di una partizione vengono consegnati in ordine e Event Hubs garantisce la consegna almeno una volta.
Hub IoT di Azure: servizio di inserimento dati simile a Hub eventi di Azure, ma ottimizzato per gestire i dati degli eventi dai dispositivi IoT (Internet delle cose).
Azure Data Lake Store Gen 2: servizio di archiviazione altamente scalabile spesso usato negli scenari di elaborazione batch, ma utilizzabile anche come origine di dati in streaming.
Apache Kafka: soluzione di inserimento dati open source in genere usata insieme ad Apache Spark.
Sink per l'elaborazione dei flussi
L'output dell'elaborazione dei flussi viene spesso inviato ai servizi seguenti:
Hub eventi di Azure: usato per accodare i dati elaborati per un'ulteriore elaborazione downstream.
Azure Data Lake Store Gen 2, Microsoft OneLake o Archiviazione BLOB di Azure: usato per salvare in modo permanente come file i risultati elaborati.
Database SQL di Azure, Azure Databricks o Microsoft Fabric: usato per salvare in modo permanente i risultati elaborati in una tabella per l'esecuzione di query e l'analisi.
Microsoft Power BI: usato per generare visualizzazioni dei dati in tempo reale in report e dashboard.