Cos'è lo streaming dei dati?

Fotografia aerea di più fiumi in un paesaggio

Autori

Annie Badman

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Cos'è lo streaming dei dati?

Lo streaming dei dati è il flusso continuo di dati in tempo reale provenienti da varie fonti. A differenza dell'elaborazione batch, che gestisce i set di dati a intervalli programmati, i dati in streaming vengono elaborati non appena arrivano per ottenere insight in tempo reale.

Le organizzazioni generano attualmente elevati volumi di dati su qualsiasi cosa, dai dispositivi Internet of Things (IoT) alle transazioni di e-commerce. Lo streaming dei dati, noto anche come "data streaming" o "streaming dei dati in tempo reale", aiuta le organizzazioni a elaborare questi flussi di dati continui via via che arrivano.

Esempi di dati in streaming includono:

  • Dati del mercato finanziario che tracciano i prezzi delle azioni e le operazioni di trading
  • Letture dei sensori IoT per il monitoraggio delle prestazioni delle attrezzature
  • Flussi di attività sui social media che catturano il coinvolgimento degli utenti
  • Dati clickstream del sito web che mostrano i modelli di comportamento dei visitatori

Le organizzazioni utilizzano spesso i dati in streaming per supportare le iniziative aziendali che si basano su dati in tempo reale per un processo decisionale rapido e basato sui dati, come l'analisi dei dati e la business intelligence (BI).

Lo streaming dei dati fa spesso parte delle attività di acquisizione ed elaborazione dei big data . Ad esempio, le organizzazioni possono analizzare flussi di dati continui utilizzando l'analytics dei big data per ottenere insight sull'efficienza operativa, sulle tendenze dei consumatori e sulle mutevoli dinamiche di mercato.

Poiché scorre continuamente, lo streaming di dati richiede metodi di elaborazione diversi rispetto alla tradizionale elaborazione in batch. Questi includono spesso architetture di streaming scalabili e processori di streaming che gestiscono la data ingestion, così come l'elaborazione e l'analisi dei dati mantenendo prestazioni ottimali.

Negli ultimi anni, l'ascesa dell'intelligenza artificiale (AI) e del machine learning ha ulteriormente aumentato l'attenzione nei confronti delle funzionalità di streaming dei dati. Queste tecnologie si basano spesso sul trattamento dei dati per generare insight e previsioni in tempo reale.

Secondo Gartner, il 61% delle organizzazioni dichiara di dover evolvere o rivedere il proprio modello operativo di dati e analytics a causa dell'impatto delle tecnologie AI.1

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Streaming dei dati ed elaborazione in batch a confronto

Le organizzazioni possono elaborare i dati principalmente in due modi: elaborazione in batch o streaming dei dati.

Sebbene entrambi i metodi gestiscano grandi volumi di dati, servono per diversi casi d'uso e richiedono architetture diverse.

Le principali differenze includono:

  • Modello di elaborazione: l'elaborazione in batch aggrega e analizza i set di dasti in batch a intervalli fissi, mentre lo streaming dei dati utilizza strumenti di trattamento dei dati in tempo reale per elaborare i dati non appena arrivano. Ciò significa che i sistemi di streaming possono fornire insight e agire immediatamente, mentre i sistemi batch operano in base a una pianificazione periodica.

  • Esigenze dell'infrastruttura: i sistemi batch spesso utilizzano strumenti di data storage e analytics come i data warehouse, mentre il data streaming richiede piattaforme e framework progettati per gestire i flussi di dati in tempo reale.

  • Requisiti di prestazioni: i sistemi batch possono ottimizzare l'uso delle risorse durante le esecuzioni pianificate, mentre l'elaborazione dei flussi richiede sistemi a tolleranza di errore con bassa latenza. In altre parole, i sistemi di streaming devono elaborare i dati in tempo reale senza ritardi, anche quando i volumi di dati sono elevati o si verificano problemi.

In genere, le organizzazioni scelgono tra l'elaborazione in batch e in streaming in base ai volumi di dati, alle esigenze di latenza e agli obiettivi aziendali. Molti utilizzano entrambi gli approcci all'interno di un data fabric unificato per gestire diversi tipi di attività legate ai dati

Ad esempio, un'organizzazione potrebbe utilizzare l'elaborazione in batch per generare report giornalieri sulle vendite, utilizzando contemporaneamente dati in streaming e sistemi di real-time analytics per monitorare le metriche chiave del sito web.  

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona lo streaming dei dati

Ad un livello più alto, lo streaming di dati opera acquisendo, elaborando e analizzando continuamente, in tempo reale, i flussi di dati da varie fonti. Questo processo è composto da quattro fasi chiave:

  • Data ingestion
  • Elaborazione dei flussi
  • Analisi dei dati
  • Data storage

Data ingestion

La prima fase prevede l'acquisizione di flussi di dati in entrata da diverse fonti. I moderni strumenti di data ingestion, come Apache Kafka, bufferizzano e standardizzano questi flussi via via che arrivano, al fine di garantire sia la scalabilità che l'uniformità dei dati.

In genere, le organizzazioni integrano gli strumenti di data ingestion con altri componenti per creare workflow unificati. Gli strumenti di integrazione dei dati possono anche allineare ulteriormente tipi di dati eterogenei in un formato standardizzato per l'elaborazione, al fine di garantire che i dati provenienti da più fonti possano essere combinati e analizzati in modo efficace.

Elaborazione dei flussi

Nella fase di elaborazione, i framework di elaborazione dei flussi come Apache Flink analizzano e trasformano i dati mentre sono in movimento. Questi framework consentono alle organizzazioni di:

  • Elabora eventi complessi in tempo reale

  • Esegui l'aggregazione di dati su larga scala, ad esempio calcolando medie, contando eventi o sommando i valori delle transazioni

  • Applicare trasformazioni, come filtrare, arricchire o formattare i dati, via via che i dati fluiscono attraverso la pipeline di dati

Analisi e visualizzazione dei dati

In questa fase, le organizzazioni ricavano insight aziendali fruibili dai flussi di dati in streaming attraverso la visualizzazione dei dati e altri strumenti analitici.

Le principali applicazioni includono:

  • Dashboard in tempo reale che forniscono metriche e KPI critici

  • Applicazioni operative che automatizzano il workflow e ottimizzano i processi

  • Modelli di machine learning che analizzano i pattern per prevedere i risultati

Data storage

Quando si archiviano i dati in streaming, le organizzazioni devono bilanciare la necessità di accedere rapidamente ai dati per l'uso in tempo reale con il data storage a lungo termine, l'efficienza dei costi e i problemi di conformità dei dati.

Molte organizzazioni utilizzano data lake e data lakehouse per memorizzare i dati in streaming perché queste soluzioni offrono ambienti di storage flessibili e a basso costo per grandi quantità di dati. Dopo l'acquisizione dei dati in streaming, è possibile che questi vengano inviati a un data warehouse, dove possono essere puliti e preparati per l'uso.  

Le organizzazioni spesso implementano più soluzioni di data storage insieme in un data fabric unificato. Ad esempio, gli istituti finanziari potrebbero utilizzare i data lake per memorizzare i flussi di transazioni non elaborati mentre utilizzano i warehouse per l'analytics e la reportistica.

Tipi di dati in streaming

Le organizzazioni possono utilizzare molti tipi di dati in streaming per supportare la real-time analytics e il processo decisionale. Alcuni dei flussi di dati in streaming più comuni includono:

Event streams

I flussi di eventi acquisiscono le azioni o le modifiche del sistema nel momento in cui si verificano, come le chiamate application programming interface (API) , i clic sui siti web o le voci dei log delle app. i flussi di eventi sono comunemente utilizzati per tenere traccia delle attività tra i sistemi in tempo reale, consentendo risposte istantanee alle interazioni dell'utente o agli eventi di sistema.

Dati delle transazioni in tempo reale

I dati delle transazioni in tempo reale acquisiscono flussi continui di transazioni commerciali, come pagamenti digitali o acquisti di e-commerce. I dati delle transazioni in tempo reale supportano applicazioni come il rilevamento delle frodi e il processo decisionale istantaneo

.
IoT e dati dei sensori

I dati dell'IoT e dei sensori includono informazioni su condizioni ambientali, prestazioni delle attrezzature e processi fisici. Questi flussi di dati spesso supportano il monitoraggio delle attrezzature in tempo reale e l'automazione dei processi.

Casi d'uso dello streaming dei dati

I dati in streaming consentono alle organizzazioni di elaborare elevati volumi di informazioni in tempo reale per ottenere insight e azioni immediate.

Le applicazioni più comuni includono:

Servizi finanziari

Le istituzioni finanziarie utilizzano spesso la streaming analytics per elaborare i dati di mercato, le transazioni e le interazioni con i clienti.

Le società di carte di credito, ad esempio, si affidano allo streaming dei dati per il rilevamento delle frodi. Le piattaforme di streaming dei dati consentono a queste aziende di analizzare migliaia di transazioni al secondo per rilevare attività insolite e segnalare o bloccare le transazioni sospette.

Produzione industriale

Le moderne strutture produttive utilizzano spesso sensori di dispositivi IoT e trattamento dei dati in tempo reale per migliorare l'efficienza operativa. 

Uno stabilimento automobilistico, ad esempio, potrebbe monitorare migliaia di sensori della catena di montaggio, tracciando metriche quali temperatura, vibrazioni e prestazioni. Questi dati possono aiutare gli operatori a rilevare tempestivamente le inefficienze e a programmare la manutenzione preventiva per evitare tempi di inattività.

Assistenza sanitaria

Gli operatori sanitari si affidano alle applicazioni di streaming per elaborare i dati dei dispositivi medici e dei sistemi di monitoraggio dei pazienti.

Nelle unità di terapia intensiva, ad esempio, i monitor presso ogni posto letto trasmettono i parametri vitali ai processori centrali tramite pipeline di dati. Questi processori possono quindi identificare pattern preoccupanti e avvisare automaticamente il personale medico quando è necessario un intervento.

Retail ed e-commerce

I retailer e le aziende di e-commerce utilizzano i dati in streaming provenienti dai sistemi dei punti vendita, dai sensori degli inventari e dalle piattaforme online per ottimizzare le operazioni.

Una grande piattaforma di e-commerce, ad esempio, può utilizzare Apache Kafka per elaborare i clickstream di milioni di clienti, al fine di valutare la domanda e personalizzare l'esperienza dei clienti.

Trasporti e logistica

Le aziende di trasporto utilizzano spesso la streaming analytics per elaborare i dati GPS e le letture dei sensori IoT ai fini dell'ottimizzazione della flotta di veicoli.

Un fornitore di logistica, ad esempio, può integrare in tempo reale i dati di migliaia di veicoli con i set di dati meteo e del traffico. I processori di flusso possono poi consentire l'ottimizzazione automatica del percorso con una latenza minima, per aiutare i driver a evitare ritardi. 

Cybersecurity

Lo streaming dei dati aiuta a supportare le misure di cybersecurity, come il rilevamento delle anomalie. I sistemi di AI e machine learning possono analizzare i flussi di dati provenienti dagli strumenti di monitoraggio in tutto il sistema per identificare modelli insoliti o comportamenti sospetti, consentendo risposte immediate ai potenziali problemi. 

AI e machine learning

Anche lo streaming dei dati svolge un ruolo fondamentale nell'AI e nel machine learning. Ad esempio, i framework di elaborazione dei flussi possono supportare l'addestramento continuo dei modelli AI affinché gli algoritmi di apprendimento automatico possano adattarsi ai pattern mutevoli quasi in tempo reale.

I sistemi di machine learning possono anche apprendere in modo incrementale dallo streaming di fonti di dati attraverso un processo chiamato apprendimento online, utilizzando algoritmi specializzati per migliorare la precisione senza richiedere una riqualificazione completa del modello.

Strumenti e tecnologie per lo streaming dei dati

Con l'aiuto di soluzioni di streaming di dati open source e commerciali, le organizzazioni possono creare pipeline di dati scalabili con tolleranza ai guasti, il che significa che possono riprendersi dai guasti senza perdite di dati né tempi di inattività.

Due tipi chiave di tecnologie sono alla base della maggior parte delle implementazioni di dati in streaming: framework di elaborazione dello streaming e piattaforme di dati in streaming.

Framework di elaborazione dei flussi

I framework di elaborazione degli stream forniscono le basi per la gestione di flussi di dati continui. Questi framework aiutano le organizzazioni a creare pipeline di dati ad alte prestazioni che elaborano costantemente grandi volumi di dati in modo rapido e affidabile.

Tre framework open source dominano il panorama dello streaming:

  • Apache Kafka
  • Apache Flink
  • Apache Spark

Apache Kafka

Kafta è una piattaforma di streaming leader di settore, in grado di gestire enormi volumi di dati con una latenza di millisecondi. Le organizzazioni usano spesso Kafka per creare pipeline per il monitoraggio delle attività, il monitoraggio operativo e l'aggregazione dei log.

Apache Flink

Apache Flink è specializzato nell'elaborazione di eventi complessi e calcoli stateful. È utile per l'analisi in tempo reale, il rilevamento delle frodi e la manutenzione predittiva, dove la comprensione del contesto degli eventi nel tempo riveste un'importanza critica.

Apache Spark

Noto per le sue funzionalità di analytics unificate, Spark è in grado di gestire contemporaneamente dati in batch e in streaming. Questa funzionalità lo rende utile negli scenari in cui le organizzazioni devono analizzare i dati storici insieme ai dati in tempo reale.

Piattaforme e servizi di streaming dei dati

Le piattaforme di streaming dei dati offrono vari strumenti e funzioni per aiutare a supportare l'intero ciclo di vita dei dati in streaming, dall'inserimento e l'elaborazione fino allo storage e all'integrazione.

Molti dei principali provider di cloud offrono soluzioni di dati in streaming gestite che semplificano la configurazione delle applicazioni di data streaming con elevato volume di dati per le organizzazioni. Servizi come Amazon Kinesis di Amazon Web Services (AWS), Microsoft Azure Stream analytics, Dataflow di Google Cloud e IBM Event Streams offrono strumenti pronti all'uso. Le aziende non devono quindi creare infrastrutture complesse da zero.

Questi servizi possono anche integrarsi con strumenti di streaming on-premise per creare architetture ibride in grado di bilanciare le esigenze di prestazioni con i requisiti di privacy dei dati

Le organizzazioni possono anche utilizzare strumenti come IBM StreamSets e Confluent per creare pipeline di dati in streaming su misura per i loro specifici ecosistemi IT.

Sfide dello streaming dei dati

Sebbene lo streaming di dati possa offrire molti benefici, le organizzazioni possono trovarsi ad affrontare delle sfide nella creazione delle architetture di dati necessarie per supportare le applicazioni di streaming.

Alcune sfide comuni includono:

  • Scalabilità dell'architettura dei dati: il trattamento dei dati in streaming spesso comporta la gestione di enormi quantità di dati da molte fonti. Le organizzazioni possono avere difficoltà se le loro architetture di streaming non sono scalabili in modo efficiente per elaborare elevati volumi di dati.

  • Mantenere la tolleranza ai guasti: i sistemi di streaming devono essere tolleranti ai guasti mentre elaborano, potenzialmente, milioni di eventi al secondo. Le organizzazioni rischiano altrimenti di perdere dati a causa di malfunzionamenti e comportamenti scorretti del sistema.

  • Monitoraggio delle prestazioni: le applicazioni in tempo reale richiedono un monitoraggio costante di metriche quali latenza, produttività e utilizzo delle risorse per mantenere prestazioni ottimali, un'esigenza che può mettere a dura prova sistemi di elaborazione già sovraccarichi.

  • Implementazione della governance dei dati: le organizzazioni devono considerare il modo in cui memorizzano ed elaborano i dati in streaming che contengono informazioni di identificazione personale (PII) o altre informazioni sensibili che rientrano nella giurisdizione del Regolamento generale sulla protezione dei dati (GDPR), del California Consumer Privacy Act (CCPA) o di altri requisiti di governance dei dati .
Soluzioni correlate
Soluzioni della piattaforma DataOps

Organizza i tuoi dati con le soluzioni della piattaforma IBM DataOps, che li rendono affidabili e pronti per l'AI.

Esplora le soluzioni DataOps
IBM Databand

Scopri IBM Databand, software di osservabilità per pipeline di dati. Raccoglie automaticamente i metadati per creare linee di base cronologiche, rilevare anomalie e creare workflow per correggere i problemi di qualità dei dati.

Esplora Databand
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
Fai il passo successivo

Organizza i tuoi dati con le soluzioni della piattaforma IBM DataOps, che li rendono affidabili e pronti per l'AI.

Esplora le soluzioni DataOps Esplora i servizi di analytics