Ogni sistema dati serve uno di due scopi fondamentali: far funzionare l’azienda giorno per giorno oppure capire come sta andando l’azienda. Questa distinzione separa i carichi di lavoro transazionali (OLTP, Online Transaction Processing) da quelli analitici (OLAP, Online Analytical Processing). Riconoscere quale dei due si nasconde dietro uno scenario è una delle competenze più verificate nell’esame DP-900.

OLTP: i carichi transazionali

Un sistema OLTP gestisce le transazioni operative: molte operazioni piccole e frequenti, spesso in scrittura, ciascuna eseguita in millisecondi. Pensa al sistema di cassa di un supermercato: ogni scontrino inserisce righe di vendita, decrementa lo stock e aggiorna il totale, mentre centinaia di casse lavorano in parallelo.

Le caratteristiche tipiche di un workload OLTP sono:

  • Molte scritture piccole (INSERT, UPDATE, DELETE) e letture puntuali su pochi record.
  • Alta concorrenza: tanti utenti che operano contemporaneamente.
  • Bassa latenza: la risposta deve essere quasi istantanea.
  • Dati altamente normalizzati, organizzati in tabelle relazionali per evitare duplicazioni.

Le proprietà ACID

Perché una transazione sia affidabile deve rispettare le proprietà ACID:

  • Atomicity (Atomicità): la transazione è “tutto o niente”. Se il pagamento fallisce a metà, l’intera operazione viene annullata (rollback), non resta uno stato parziale.
  • Consistency (Consistenza): ogni transazione porta il database da uno stato valido a un altro stato valido, rispettando i vincoli.
  • Isolation (Isolamento): transazioni concorrenti non si “disturbano”; il risultato è come se fossero eseguite in sequenza.
  • Durability (Durabilità): una volta confermata (commit), la transazione sopravvive anche a un crash o a un’interruzione di corrente.

Servizi Azure orientati all’OLTP: Azure SQL Database, Azure Database for PostgreSQL/MySQL e, per scenari NoSQL a bassa latenza globale, Azure Cosmos DB.

OLAP: i carichi analitici

Un sistema OLAP serve l’analisi: interroga grandi volumi di dati storici per produrre aggregazioni, tendenze e report. Pensa al report vendite trimestrale che somma i ricavi per regione, categoria e periodo, incrociando milioni di righe accumulate nel tempo.

Le caratteristiche tipiche di un workload OLAP sono:

  • Query aggregate complesse (SUM, AVG, COUNT, GROUP BY) su enormi quantità di dati.
  • Prevalentemente in sola lettura: i dati vengono caricati periodicamente, non modificati in continuo.
  • Ottimizzato per la lettura analitica, spesso con archiviazione colonnare che accelera le aggregazioni.
  • Dati denormalizzati, tipicamente in schemi a stella (fact e dimension table) all’interno di un data warehouse.

I dati arrivano nell’ambiente OLAP tramite processi ETL/ELT che estraggono dalle sorgenti OLTP, trasformano e caricano. Servizi Azure orientati all’OLAP: Azure Synapse Analytics e la piattaforma unificata Microsoft Fabric (con il suo data warehouse e i lakehouse), mentre Power BI costruisce sopra questi dati i modelli e le dashboard.

OLTP vs OLAP a colpo d’occhio

Aspetto OLTP OLAP
Scopo Operatività quotidiana Analisi e decisioni
Operazioni Molte scritture piccole Poche query aggregate grandi
Dati Correnti, normalizzati Storici, denormalizzati
Ottimizzazione Bassa latenza, concorrenza Throughput su grandi volumi
Esempio Cassa del negozio Report vendite trimestrale

Trappole tipiche d’esame

  • Scenario: “Il sistema deve registrare migliaia di ordini al secondo con risposta immediata.” → È un carico OLTP, non OLAP.
  • Scenario: “Un analista deve aggregare tre anni di vendite per prodotto e regione.” → È un carico OLAP (data warehouse / Microsoft Fabric o Azure Synapse Analytics).
  • Scenario: “Se il pagamento fallisce, l’intera transazione deve essere annullata.” → Descrive l’Atomicity delle proprietà ACID (attenzione: non confonderla con Consistency).
  • Scenario: “Una transazione confermata deve sopravvivere a un’interruzione di corrente.” → È la Durability, non l’Isolation.
  • Scenario: “Prevalentemente in sola lettura, query complesse su grandi volumi storici.” → Parole chiave che identificano l’OLAP; “molte scritture concorrenti a bassa latenza” identificano invece l’OLTP.