Esplorare gli elementi comuni dell'architettura di elaborazione dei flussi

Completato

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:

Diagramma di un evento che genera dati, acquisiti in una coda prima dell'elaborazione, e i risultati vengono scritti in un archivio dati o in una visualizzazione.

  1. Un evento genera 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.
  2. I dati generati vengono acquisiti in un'origine di elaborazione dei flussi 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 elaborazione dei flussi più solide, l'origine può essere una "coda" che incapsula la logica per garantire che i dati degli eventi siano elaborati in ordine e che ogni evento sia elaborato una sola volta.
  3. I dati degli eventi vengono elaborati, spesso da una query perpetua che opera sui dati degli eventi per selezionare i dati di tipi specifici di eventi, proiettare i valori dei dati o aggregare i valori dei dati su periodi (o finestre) temporali (basati sul tempo), ad esempio contando il numero di emissioni del sensore al minuto.
  4. 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:

  • Analisi di flusso di Azure: soluzione PaaS (piattaforma distribuita come servizio) che è possibile usare per definire processi di streaming che inseriscono i dati da un'origine di streaming, applicano una query perpetua e scrivono i risultati in un output.
  • Streaming strutturato Spark: libreria open source che consente di sviluppare soluzioni complesse di elaborazione dei flussi in servizi basati su Apache Spark, tra cui Microsoft Fabric e Azure Databricks.
  • Microsoft Fabric: piattaforma di database e analisi ad alte prestazioni che comprende Ingegneria dei dati, Data Factory, Data Science, Analisi in tempo reale, Data Warehouse e Database.

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: servizio di inserimento dati che è possibile usare per gestire le code di dati di eventi, per assicurarsi che ogni evento venga elaborato in ordine, esattamente 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.