Glossario Big Data
Glossario verificato
Grandi volumi di dati: elaborazione distribuita, streaming, data lake, ETL e analisi su larga scala.
-
A
-
Apache Airflow
Piattaforma open source per creare, pianificare e monitorare flussi di lavoro di dati definiti come codice Python; i flussi sono modellati come grafi aciclici diretti (DAG) di task con dipendenze. -
Apache Avro
Sistema di serializzazione dei dati orientato alle righe, con schema definito in JSON incorporato nel file; supporta l'evoluzione dello schema ed è adatto allo scambio di dati e ai flussi, in particolare in Kafka. -
Apache Flink
Motore open source per l'elaborazione distribuita di flussi di dati con stato, in tempo reale e a bassa latenza; tratta l'elaborazione a lotti come caso particolare dello streaming e supporta la semantica del tempo dell'evento. -
Apache Hadoop
Framework open source per la memorizzazione e l'elaborazione distribuita di grandi dataset su cluster di hardware comune; comprende lo storage HDFS, il gestore di risorse YARN e il modello di calcolo MapReduce. -
Apache Kafka
Piattaforma distribuita di streaming di eventi che funziona come un log di commit partizionato e replicato; consente di pubblicare, memorizzare e sottoscrivere flussi di record in modo scalabile e durevole. -
Apache ORC
Optimized Row Columnar: formato di file colonnare nato nell'ecosistema Apache Hive, che struttura i dati in stripe con statistiche e indici integrati per una compressione spinta e un efficiente salto dei dati durante le interrogazioni. -
Apache Parquet
Formato di file colonnare open source per l'archiviazione efficiente di grandi dataset; supporta compressione, codifiche per colonna e statistiche che abilitano il predicate pushdown, ed è lo standard di fatto nei data lake. -
Apache Spark
Motore open source per l'elaborazione distribuita di grandi dataset, in batch e in streaming; sfrutta l'elaborazione in memoria per prestazioni superiori a MapReduce e offre API in Scala, Java, Python e SQL. -
Architettura a medaglione (medallion)
Schema di organizzazione dei dati in un lakehouse su tre livelli progressivi: bronzo (dati grezzi), argento (dati puliti e integrati) e oro (dati aggregati pronti al consumo), che ne migliorano incrementalmente qualità e struttura. Introdotta da Databricks. -
Architettura Kappa
Semplificazione dell'architettura Lambda che elimina il livello batch e tratta ogni dato come un flusso, elaborato da un'unica pipeline di streaming; i ricalcoli avvengono rileggendo il log degli eventi. Proposta da Jay Kreps. -
Architettura Lambda
Architettura per big data che combina un livello batch, che elabora i dati storici in modo accurato, e un livello di velocità (speed), che processa i flussi in tempo reale; un livello di servizio unisce i due risultati. Proposta da Nathan Marz. -
B
-
Backfill (ricarica storica)
Esecuzione retroattiva di una pipeline su intervalli di date passate, per generare dati mancanti o rielaborare periodi già trascorsi in seguito a correzioni o modifiche della logica; è una funzione nativa di Airflow. -
Big Data
Insieme di dati di volume, velocità e varietà tali da eccedere le capacità dei sistemi tradizionali di gestione, che richiede architetture distribuite per la loro memorizzazione ed elaborazione allo scopo di estrarne valore. -
Bucketing (raggruppamento in bucket)
Tecnica che distribuisce i dati in un numero fisso di bucket applicando una funzione hash su una colonna; a differenza del partizionamento gestisce colonne ad alta cardinalità e ottimizza join e aggregazioni. Usata in Hive e Spark. -
C
-
Catalogo dati (data catalog)
Repository ricercabile di metadati che inventaria e descrive gli asset di dati di un'organizzazione (tabelle, dataset, report), facilitandone la scoperta, la comprensione e l'uso affidabile; supporta la governance. -
Change Data Capture (CDC)
Tecnica che rileva e cattura in modo incrementale le modifiche (inserimenti, aggiornamenti, cancellazioni) applicate a una base dati sorgente e le propaga a valle in tempo quasi reale, spesso leggendo il log delle transazioni. -
Checkpoint (streaming)
Istantanea periodica e coerente dello stato di un'applicazione di streaming, salvata su storage durevole; in caso di guasto il sistema ripristina lo stato dall'ultimo checkpoint garantendo la tolleranza ai guasti. Meccanismo centrale di Flink. -
D
-
DAG (grafo aciclico diretto)
Directed Acyclic Graph: grafo orientato privo di cicli; nell'orchestrazione dei dati modella una pipeline come insieme di task collegati da dipendenze che ne impongono l'ordine di esecuzione senza ritorni. È l'unità di lavoro di Airflow. -
Data fabric
Architettura e insieme di servizi integrati che forniscono un accesso unificato e coerente ai dati distribuiti su sistemi e ambienti eterogenei, tramite metadati attivi e automazione, indipendentemente dalla loro collocazione. -
Data governance
Insieme di politiche, ruoli, processi e controlli che garantiscono qualità, sicurezza, conformità e uso responsabile dei dati di un'organizzazione lungo il loro intero ciclo di vita. -
Data lake
Repository centralizzato che memorizza grandi quantità di dati grezzi nel formato nativo, strutturati e non, a costo contenuto e con schema applicato in lettura; alimenta analisi avanzate e machine learning. -
Data lakehouse
Architettura dati che unisce la flessibilità e il basso costo del data lake con le funzioni di gestione e le transazioni ACID del data warehouse, operando direttamente su storage a oggetti tramite formati di tabella aperti. -
Data mesh
Approccio organizzativo e architetturale decentralizzato alla gestione dei dati analitici, basato su quattro principi: proprietà per dominio, dato come prodotto, piattaforma self-service e governance federata. Coniato da Zhamak Dehghani. -
Data pipeline (pipeline di dati)
Sequenza di stadi automatizzati che spostano e trasformano i dati da una o più fonti verso una destinazione; combina ingestione, elaborazione e caricamento e può operare in modalità batch o in streaming. -
Data steward (custode dei dati)
Ruolo della governance responsabile della gestione operativa, della qualità e del corretto uso di un insieme di dati per conto dell'organizzazione, facendo da collegamento tra le esigenze di business e la gestione tecnica dei dati. -
Data swamp (palude di dati)
Degenerazione di un data lake che, in assenza di catalogazione, metadati e governance, accumula dati non documentati e di scarsa qualità, diventando di fatto inutilizzabile per l'analisi. -
DataFrame (Spark)
Collezione distribuita di dati organizzata in colonne con nome, concettualmente simile a una tabella relazionale; in Spark è ottimizzata dal motore Catalyst e più efficiente delle API RDD di basso livello. -
E
-
Elaborazione a lotti (batch processing)
Modello che raccoglie i dati in un intervallo e li elabora in blocco come un unico job, a intervalli pianificati; predilige il throughput sulla latenza e si contrappone all'elaborazione di flussi. -
Elaborazione con stato (stateful stream processing)
Elaborazione di flussi in cui l'applicazione mantiene uno stato tra i record (conteggi, aggregazioni, finestre), aggiornato a ogni evento e reso tollerante ai guasti tramite checkpoint; si contrappone all'elaborazione senza stato. -
Elaborazione di flussi (stream processing)
Paradigma che elabora i dati in modo continuo, record per record o in piccoli lotti, non appena vengono prodotti, per ottenere risultati a bassa latenza; si contrappone all'elaborazione a lotti. -
Elaborazione distribuita dei dati
Paradigma che ripartisce dati e calcolo su più nodi di un cluster, elaborandoli in parallelo per superare i limiti di una singola macchina e ottenere scalabilità orizzontale e tolleranza ai guasti. -
Elaborazione in memoria (in-memory)
Tecnica che mantiene i dati intermedi nella RAM del cluster anziché scriverli su disco tra le fasi di calcolo, riducendo la latenza; è il tratto distintivo di Spark rispetto a MapReduce. -
ELT (Extract, Load, Transform)
Variante dell'ETL che carica prima i dati grezzi nel sistema di destinazione (data lake o data warehouse moderno) e vi esegue le trasformazioni successivamente, sfruttandone la potenza di calcolo. -
F
-
Finestre temporali (windowing)
Tecnica dello stream processing che raggruppa i record di un flusso continuo in intervalli finiti su cui calcolare aggregazioni; le finestre possono essere fisse (tumbling), scorrevoli (sliding) o di sessione. -
Formato colonnare (columnar storage)
Formato di memorizzazione che organizza i dati per colonna anziché per riga, migliorando la compressione e permettendo di leggere solo le colonne necessarie a una query; è ottimale per i carichi analitici. -
Formato di tabella aperto (open table format)
Specifica open source che porta funzionalità da database (transazioni ACID, evoluzione dello schema, viaggio nel tempo) a file colonnari su storage a oggetti, abilitando il lakehouse; i principali sono Delta Lake, Apache Iceberg e Apache Hudi. -
G
-
Gruppo di consumatori (consumer group)
Insieme di consumatori Kafka che cooperano per leggere i messaggi di uno o più topic; ogni partizione è assegnata a un solo membro del gruppo, permettendo il ridimensionamento orizzontale senza duplicare l'elaborazione. -
I
-
Ingestione dei dati (data ingestion)
Processo di acquisizione dei dati da fonti eterogenee e loro trasferimento verso un sistema di storage o elaborazione; può avvenire a lotti o in streaming continuo ed è il primo stadio di una pipeline di dati. -
L
-
Le cinque V dei Big Data
Modello che sintetizza le caratteristiche dei big data in cinque dimensioni: volume, velocità, varietà, veracità e valore; le prime tre furono introdotte da Doug Laney, le altre due aggiunte successivamente. -
Lignaggio dei dati (data lineage)
Tracciamento del percorso dei dati dalla sorgente al consumo, incluse tutte le trasformazioni subite; documenta origine e dipendenze, supportando la conformità, il debug e l'analisi d'impatto. -
Località dei dati (data locality)
Principio dell'elaborazione distribuita che sposta il calcolo verso il nodo che possiede i dati anziché trasferire i dati alla computazione, riducendo il traffico di rete; è un cardine dell'efficienza di Hadoop. -
Log append-only (commit log)
Struttura dati fondamentale dello streaming: una sequenza ordinata e immutabile di record a cui si può solo aggiungere in coda, mai modificare; ogni record ha un offset progressivo. È il modello alla base di Kafka. -
M
-
MapReduce
Modello di programmazione per l'elaborazione parallela di grandi dataset, articolato in una fase map che trasforma i dati in coppie chiave-valore e una fase reduce che le aggrega; è alla base di Hadoop. -
Master Data Management (MDM)
Disciplina e insieme di processi che creano e mantengono un'unica versione affidabile e condivisa dei dati anagrafici fondamentali di un'organizzazione (clienti, prodotti, fornitori), eliminando duplicazioni e incoerenze tra i sistemi. -
Micro-batch
Modello di elaborazione dei flussi che raggruppa i dati in arrivo in piccoli lotti a intervalli regolari e li processa come mini-job, approssimando lo streaming continuo; è l'approccio di Spark Structured Streaming. -
O
-
Orchestrazione dei dati (data orchestration)
Coordinamento automatizzato dei diversi compiti di una pipeline di dati, che ne governa l'ordine di esecuzione, le dipendenze, la pianificazione e la gestione degli errori; strumenti tipici sono Apache Airflow e Dagster. -
Osservabilità dei dati (data observability)
Capacità di monitorare in modo continuo lo stato di salute dei dati e delle pipeline lungo dimensioni come freschezza, volume, schema e distribuzione, per rilevare, diagnosticare e prevenire i problemi di qualità. -
P
-
Partition pruning (potatura delle partizioni)
Ottimizzazione delle query che, sfruttando il partizionamento dei dati, esclude a priori dalla scansione le partizioni che non soddisfano i filtri, leggendo solo quelle pertinenti e riducendo drasticamente i dati processati. -
Partizionamento dei dati (data partitioning)
Suddivisione di un dataset in sottoinsiemi distinti in base ai valori di una o più colonne (es. anno, mese), memorizzati in cartelle separate; consente ai motori di leggere solo le partizioni rilevanti per una query. -
Predicate pushdown (spinta dei predicati)
Ottimizzazione che spinge i filtri di una query il più vicino possibile ai dati, sfruttando le statistiche (min/max) memorizzate nei formati colonnari per saltare interi blocchi che non soddisfano le condizioni, riducendo l'I/O. -
Profilazione dei dati (data profiling)
Analisi esplorativa di un dataset per descriverne struttura, contenuto e qualità, calcolando statistiche su valori, distribuzioni, valori nulli e anomalie; precede l'integrazione e la pulizia dei dati. -
Q
-
Qualità dei dati (data quality)
Misura in cui i dati sono adatti all'uso previsto, valutata secondo dimensioni come accuratezza, completezza, coerenza, tempestività e unicità; è un obiettivo centrale della governance dei dati. -
R
-
RDD (Resilient Distributed Dataset)
Struttura dati fondamentale di Spark: una collezione immutabile e partizionata di elementi distribuiti sul cluster, elaborabile in parallelo e ricostruibile in caso di guasto tramite il grafo delle dipendenze. -
S
-
Schema-on-read e schema-on-write
Due strategie di gestione dello schema: schema-on-write impone la struttura al momento della scrittura (tipico dei data warehouse), schema-on-read la applica solo alla lettura (tipico dei data lake), offrendo maggiore flessibilità sui dati grezzi. -
Semantiche di consegna (delivery semantics)
Garanzie sul numero di elaborazioni di ciascun record in un sistema di streaming: at-most-once (al massimo una volta), at-least-once (almeno una volta) ed exactly-once (esattamente una volta); quest'ultima è la più forte e costosa. -
Sharding analitico
Partizionamento orizzontale dei dati distribuiti su più nodi di un motore analitico o data warehouse, in cui ogni nodo elabora la propria porzione in parallelo per accelerare le interrogazioni su grandi volumi. -
Shuffle (rimescolamento)
Fase intermedia di MapReduce e di Spark in cui i dati prodotti dai map vengono ripartiti, ordinati e ridistribuiti tra i nodi in base alla chiave per essere consegnati ai reduce; è spesso il collo di bottiglia. -
Spark SQL
Modulo di Apache Spark per l'elaborazione di dati strutturati tramite SQL e l'API DataFrame; sfrutta le informazioni sullo schema per applicare ottimizzazioni automatiche attraverso il motore Catalyst. -
T
-
Tempo dell'evento e tempo di elaborazione
Due nozioni di tempo nello streaming: il tempo dell'evento è l'istante in cui il dato è stato generato alla sorgente, il tempo di elaborazione è l'istante in cui il sistema lo processa; distinguerli è essenziale con dati in ritardo o disordinati. -
Topic (Kafka)
Categoria con nome a cui i produttori pubblicano i messaggi in Kafka; ogni topic è suddiviso in partizioni, ciascuna una sequenza ordinata e immutabile di record a cui si aggiunge sempre in coda. -
Trasformazioni e azioni (Spark)
Le due categorie di operazioni di Spark: le trasformazioni (map, filter) definiscono in modo pigro un nuovo dataset senza eseguirlo, mentre le azioni (count, collect) innescano il calcolo e restituiscono un risultato. -
V
-
Valore (Big Data)
V considerata l'obiettivo finale dell'analisi: l'utilità economica o conoscitiva estraibile dai dati, ossia la capacità di trasformare grandi moli di dati in informazioni e decisioni utili. -
Varietà (Big Data)
V che esprime l'eterogeneità dei tipi e delle fonti di dati: strutturati, semistrutturati e non strutturati (testo, immagini, log, video), che richiede modelli e formati flessibili. -
Velocità (Big Data)
V che indica la rapidità con cui i dati vengono prodotti, acquisiti ed elaborati; nei big data spinge verso l'elaborazione in tempo reale o quasi reale dei flussi in ingresso. -
Veracità (Big Data)
V che misura il grado di affidabilità, accuratezza e credibilità dei dati; indica quanto i dati siano privi di rumore, incoerenze e incertezze prima di essere usati per le decisioni. -
Volume (Big Data)
Prima V dei big data: la quantità complessiva di dati generati e memorizzati, misurata in terabyte, petabyte o oltre, che impone il ricorso a storage e calcolo distribuiti su cluster. -
W
-
Watermark (filigrana temporale)
Meccanismo dei motori di streaming che stima l'avanzamento del tempo dell'evento: un marcatore che scorre nel flusso e dichiara che gli eventi fino a un certo istante sono attesi arrivati, consentendo di chiudere le finestre e gestire i ritardatari. -
Y
-
YARN (Yet Another Resource Negotiator)
Livello di Hadoop che gestisce e schedula le risorse di calcolo del cluster, separando la gestione delle risorse dall'elaborazione e consentendo l'esecuzione di più tipi di carico di lavoro.