Salta al contenuto principale

Terminologia

ETL

Extract, Transform, Load. Un pattern di pipeline che trasforma i dati su un motore dedicato prima di caricarli nella destinazione, così solo dati conformati arrivano nel datastore di destinazione.

ELT

Extract, Load, Transform. Un pattern che carica prima i dati grezzi nella destinazione e li trasforma sul posto usando il calcolo del warehouse; il modello dietro strumenti come dbt.

CDC

Change Data Capture. La tecnica di catturare insert, update e delete a livello di riga da un database sorgente (di solito tramite il transaction log) per trasmettere i cambiamenti a valle in modo incrementale.

OLAP

Online Analytical Processing. Carichi analitici read-heavy e orientati all'aggregazione su grandi dati storici, tipicamente serviti da motori a storage colonnare.

OLTP

Online Transaction Processing. Carichi transazionali ad alto volume e bassa latenza (piccole letture e scritture), tipicamente serviti da database operativi orientati alle righe.

SCD

Slowly Changing Dimension. Una dimensione i cui attributi cambiano nel tempo; i tipi SCD (1 overwrite, 2 righe storiche, 3 colonne con valori precedenti limitati) definiscono come registrare quei cambiamenti.

DAG

Directed Acyclic Graph. La struttura usata per rappresentare le dipendenze tra task in un orchestratore, dove gli archi indicano l'ordine e non sono ammessi cicli, così l'ordine di esecuzione è ben definito.

dbt

data build tool. Un framework per definire trasformazioni del warehouse come modelli SQL versionati con test, documentazione ed esecuzione consapevole delle dipendenze (la T di ELT).

ACID

Atomicity, Consistency, Isolation, Durability. Le garanzie transazionali che gli open table format come Delta Lake e Iceberg portano ai file di un data lake.

HDFS

Hadoop Distributed File System. Il file system distribuito e replicato dell'ecosistema Hadoop, storicamente il layer di storage per il big-data processing prima che l'object storage cloud diventasse dominante.

S3

Simple Storage Service. L'object storage di Amazon, backing comune per data lake e lakehouse; gli store "S3-compatible" espongono la stessa API.

RDD

Resilient Distributed Dataset. L'astrazione di collezione immutabile, partizionata e fault-tolerant di basso livello di Spark, sotto le API di più alto livello DataFrame e SQL.

Parquet

Un formato file colonnare, compresso e binario con statistiche di colonna e row group, lo standard de facto per lo storage fisico di data lake analitici.

Avro

Un formato di serializzazione binario compatto e orientato alle righe con schema auto-descrittivo, comunemente usato per record di streaming e payload di messaggi Kafka.

ORC

Optimized Row Columnar. Un formato file colonnare dell'ecosistema Hive con forte compressione e indicizzazione, alternativo a Parquet.

JSONL

JSON Lines. Un formato testuale con un oggetto JSON per riga, comodo per streaming, append ed elaborazione riga per riga di record semi-strutturati.

SLA

Service Level Agreement. Un impegno verso i consumatori di dati, tipicamente su consegna, freschezza, disponibilità e qualità; SLO (obiettivo) e SLI (indicatore) lo rendono misurabile.

SLO

Service Level Objective. Un valore obiettivo per una proprietà misurabile di un servizio dati (per esempio, "tabella aggiornata entro 30 minuti dalla sorgente"), rispetto al quale si valuta uno SLA.

PII

Personally Identifiable Information. Dati che possono identificare un individuo; fanno scattare obblighi di privacy (come il GDPR) e richiedono classificazione, controllo degli accessi e spesso mascheramento.

GDPR

General Data Protection Regulation. La legge UE sulla protezione dei dati che governa il trattamento dei dati personali, con requisiti come base giuridica, minimizzazione dei dati e diritto alla cancellazione.

MPP

Massively Parallel Processing. Un'architettura che distribuisce una query su molti nodi, ognuno dei quali elabora uno shard dei dati, la base dei warehouse analitici cloud.

ANSI SQL

Il dialetto SQL standardizzato; i motori "ANSI-compliant" puntano a una sintassi di query portabile, sebbene la maggior parte dei warehouse aggiunga estensioni proprietarie.

UPSERT

Insert-or-update. Una scrittura che inserisce una riga se la sua chiave è assente e la aggiorna altrimenti, espressa come MERGE in SQL e centrale per i caricamenti incrementali idempotenti.

MERGE

Un comando SQL che inserisce, aggiorna o elimina condizionatamente le righe target in base a una corrispondenza con una sorgente, usato per upsert e manutenzione delle SCD in warehouse e lakehouse.

TTL

Time To Live. Un'impostazione di retention dopo la quale i dati (una voce di cache, un record di streaming, una partizione di tabella) scadono automaticamente o diventano eleggibili per la cancellazione.

DWH

Data Warehouse. Uno store analitico centrale ottimizzato per query aggregate su dati strutturati e storici.

ODS

Operational Data Store. Uno store integrato di dati operativi correnti, spesso un'area di staging tra i sistemi sorgente e il warehouse per il reporting operativo quasi in tempo reale.

EOS

Exactly-Once Semantics. Una garanzia di elaborazione in cui ogni input influisce sul risultato esattamente una volta nonostante i guasti, ottenuta con scritture idempotenti e gestione transazionale degli offset.

Debezium

Una piattaforma CDC open-source basata su Kafka Connect che trasmette i cambiamenti del transaction log del database in topic Kafka per il consumo a valle.

Trino

Un motore di query SQL distribuito (ex PrestoSQL) per analytics interattiva su sorgenti eterogenee, inclusi object storage e open table format, senza spostare i dati.

ZooKeeper / KRaft

Layer di coordinamento per Apache Kafka: ZooKeeper era il servizio legacy di metadati e consenso, ora sostituito da KRaft (Kafka Raft), la modalità di consenso autogestita integrata in Kafka.

Backpressure

Un meccanismo di controllo di flusso nello streaming in cui un consumatore a valle lento segnala ai producer a monte di rallentare, prevenendo buffering illimitato ed esaurimento della memoria.

Throughput vs Latency

Il compromesso centrale streaming/batch: il throughput è il volume elaborato per unità di tempo (favorito dal batch), la latenza è il tempo dall'evento al risultato (favorita dallo streaming).