Vai al contenuto

SISTEMA DATA ANALYTICS

Introduzione

Il Sistema Data Analytics fa parte della piattaforma Metriqa e si basa su Alida. E' una Data Science & Machine Learning (DSML) Platform progettata per semplificare la gestione, l'esecuzione e il monitoraggio di progetti di data science e machine learning. Offre un ambiente integrato che permette di:

  • Gestire dataset e modelli di machine learning
  • Creare, eseguire e monitorare workflow basati su microservizi
  • Lavorare su dati batch e streaming anche all'interno dello stesso workflow
  • Facilitare scalabilità e tracciabilità delle elaborazioni
  • Permettere a utenti non esperti di sviluppo la creazione di applicazioni di analisi dati

Tipologie di Utenti (Attori)

Il Sistema Data Analytics è pensato per diversi tipi di utenti, ognuno con il suo ruolo e le sue necessità:

  • Citizen: è chi, senza essere sviluppatore o data scientist (operatore di filiera / quality officer / agronomo), sfrutta l'interfaccia grafica per creare, configurare ed eseguire workflow in modo intuitivo usando così i risultati per decisioni operative.
  • Data Scientist: (esperto di analisi agro‑alimentare) sviluppa modelli avanzati usando dati da sensori, biosensori e laboratori, imposta analisi sofisticate e ottimizza workflow di machine learning.
  • Data Engineer: (specialista dei dati di filiera) si occupa dell'integrazione di nuove fonti dati (di sensori IoT, RFID, sistemi di campo e di stabilimento), della gestione dei flussi dati lungo la filiera e dell'ottimizzazione dei processi.
  • Administrator: gestisce utenti legati alla filiera,assegna ruoli e permessi secondo regole contrattuali e normative, e configura parametri di sicurezza, compliance e data sharing.
  • Developer: (fornitore tecnologico agrifood) crea nuovi microservizi specifici di filiera (es. qualità latte, tracciabilità lotti), integra API (di sensori, blockchain, ERP, sistemi di certificazione), estende il catalogo con servizi verticali.

Concetti base

Nel Sistema Data Analytics tutto ruota intorno ad alcuni concetti fondamentali:

  • I Service sono micro-applicazioni indipendenti che elaborano input e producono output.
  • I Workflow sono sequenze di Service che usano dati e modelli.
  • Gli Asset rappresentano risorse fondamentali come dataset, modelli, sorgenti dati e i Workflow stessi.

Ogni Asset ha un livello di accesso:

  • Private: visibile e modificabile solo dal proprietario
  • Team: visibile e modificabile dai membri del team
  • Public: visibile a tutti

e vale la seguente regola di visibilità:

  • I Workflow "Team" non possono utilizzare asset "Private"
  • I Workflow "Public" non possono utilizzare asset "Team" o "Private"

Project

Un Project è uno spazio di lavoro organizzato dove l'utente può raccogliere e gestire tutti gli elementi necessari per un determinato obiettivo o presentazione. Come una scrivania ben ordinata, un Project permette di:

  • Raccogliere dataset, modelli, e workflow in un unico spazio
  • Dare un nome significativo al progetto
  • Accedere rapidamente a tutto il necessario per uno specifico caso d'uso

Esempio pratico

Project "Previsione Vendite 2025" che raccoglie dataset di vendita, modelli di regressione, e workflow di predizione.

Workflow Designer

Il Sistema Data Analytics offre un'interfaccia grafica per costruire Workflow utilizzando Dataset, Service e Model.

Designer

Ogni Service:

  • Può essere collegato ad altri Service attraverso archi
  • Può essere collegato ad altri asset come Dataset e Model addestrati
  • Riceve parametri configurabili (es. il valore di "K" per un K-Means)
  • Può richiedere risorse specifiche (es. GPU per il training)

Esecuzione dei Workflow

Il Sistema Data Analytics consente di:

  • Eseguire manualmente un Workflow
  • Schedulare esecuzioni periodiche con espressioni Cron
  • Esportare il Workflow come Docker Compose per l'esecuzione mediante Docker (su una macchina locale, server, etc...)

Datasource

Una Datasource in Sistema Data Analytics è un metadato che contiene informazioni utili alla connessione ad uno storage (es. URL, tipo di storage, chiavi di accesso, etc…)

Ogni utente registrato in piattaforma dispone di uno spazio personale dedicato alla gestione delle proprie risorse. Nel dettaglio, ogni utente avrà di default:

  • Una Datasource basato su MinIO con livello di accesso Private
  • Una Datasource basato su MinIO per ciascun "Team" di appartenenza (se esiste)
  • Accesso al Datasource Public

L’utente è libero di creare nuove Datasource, puntando anche a storage esterni, allo scopo di rendere i propri dati visibili e facilmente gestibili all’interno della piattaforma.

Per ulteriori informazioni visita Asset > Data Source

Sistema di Notifica

Il sistema di notifica permette agli utenti di monitorare l'avanzamento e lo stato delle loro elaborazioni in tempo reale tramite Eventi.

Un Evento è un aggiornamento dinamico inviato dal generico Service in esecuzione allo scopo di informare l'utente sullo stato di:

  • Processi
  • Elaborazioni
  • Eventuali risultati intermedi o errori

consentendo attività cruciali quali:

  • Monitorare lo stato di esecuzione dei Workflow
  • Identificare rapidamente problemi o errori durante l'elaborazione
  • Visualizzare risultati intermedi senza attendere il completamento
  • Prendere decisioni informate basate sul feedback immediato

Architettura del sistema di notifica

  1. Ogni Service può emettere notifiche durante l'esecuzione
  2. Le notifiche vengono inviate tramite Kafka su topic specifici
  3. Un sistema di gestione:
    • Inoltra le notifiche al browser in modalità push
    • Salva tutte le notifiche nel catalogo per consultazioni successive

Tipi di notifiche supportate

  • Log di esecuzione
  • Immagini (es. grafici, anteprime)
  • Parametri aggiornati
  • File compressi (es. zip)
  • File HTML
  • Altro contenuto utile per il monitoraggio o il debug

Esempio pratico

Durante il training di un modello K-Means, il Service invia ogni 10 iterazioni:

  • Un'immagine del clustering corrente
  • Un file di log con i valori di costo (inertia)
  • Un file ZIP con snapshot intermedi del modello

L'utente vede tutto in tempo reale, direttamente dal browser.

Storia degli Asset

Il Sistema Data Analytics registra per ogni dataset o modello prodotto:

  • Workflow che l'ha generato
  • Service che l'ha elaborato
  • Parametri utilizzati
  • Storage di salvataggio
  • Formato e caratteristiche tecniche

Questo permette auditing completo e riproducibilità dei processi.

Esempio pratico

Model "Segmentazione Clienti 2025" salvato nello storage “S”, addestrato dal workflow “X”, con l’esecuzione del dd/mm/yyyy hh:mm:ss, dal service K-MEANS “Y” (di versione “V” creato dall’utente “U”) con i parametri “A,B e C”, utilizzando i dataset “D” etc …

Scalabilità

Verticale

I Service possono richiedere GPU.

Il Sistema Data Analytics può schedulare il deploy su nodi che dispongono di GPU.

Esempio pratico

Training di una rete neurale su immagini, deployato su nodo GPU.

Orizzontale

I Workflow batch intensivi possono essere distribuiti tramite Spark.

I processi vengono suddivisi in "worker" e deployati su nodi diversi del cluster per una elaborazione parallela.

Architettura e Integrazione

Il Sistema Data Analytics si avvale di diversi strumenti Open Source per fornire un ambiente Data Science completo:

  • MinIO per lo storage distribuito di dataset e modelli
  • Kafka per la gestione di dati in streaming
  • Spark per elaborazioni dati distribuite
  • Seldon per il deployment di modelli in produzione
  • Argo per l'orchestrazione di Workflow

L'architettura è basata su microservizi deployati su Kubernetes.

In sintesi, il Sistema di Data Analytics consente di gestire dati eterogenei (sensori, dataset strutturati, dati di processo), acquisiti sia in streaming che in batch, archiviati su storage distribuito e utilizzabili per analisi avanzate e addestramento di modelli di machine learning.

Dal caso d’uso Pascol Casi d'uso > Pascol, le funzionalità offerte da Metriqa trovano applicazione concreta grazie all’uso del Data Space Data Space per la condivisione protetta dei dati lungo la filiera, al Sistema Data Analytics per la creazione e l’addestramento dei modelli di machine learning Asset > Workflow sui dati IoT dell’allevamento, e alla possibilità di servire tali modelli in produzione tramite servizi di model serving Development > Serving, abilitando così una tracciabilità intelligente, predittiva e interoperabile dell’allevamento estensivo.