MM048 – OLTP e OLAP for Dummies – ep.2

Pubblicato da Dorianna Tedesco il

Dopo il primo articolo dal format for Dummies relativo agli indici di bontà delle performance di previsione (se te lo sei perso, qui il link), ecco il secondo episodio.
Sono molti gli argomenti su cui vale la pena approfondire in modo semplice e pratico, infatti capita spesso di dare per scontato alcuni temi che per molti addetti ai lavori sono chiari, ma per altri rimangono degli acronimi indefiniti.  In ambito database e Business Intelligence è il caso di OLTP e OLAP, argomento scelto per questo secondo episodio di guide per neofiti (e non!).


Dalle sigle, ai significati, alle applicazioni

OLTP sta per On-Line Transaction Processing, un insieme di tecniche software utilizzate per la gestione di applicazioni orientate alle transazioni, cioè delle sequenze di operazioni che devono essere gestite e registrate. Un esempio che si basa su queste logiche è la compagnia aerea: l’acquisto di un biglietto online da parte di un cliente rappresenta una transazione da registrare in un database specifico, il database transazionale. Acquistare un biglietto online richiede un aggiornamento in tempo reale dei dati aziendali per permettere una prenotazione senza intoppi, perciò la tempestività risulta essere una delle caratteristiche determinanti del sistema OLTP. Un ulteriore elemento che l’esempio evidenzia è la necessità del sistema di poter ricevere più input contemporaneamente, infatti i clienti che effettuano un acquisto accedono al servizio in modo contemporaneo e indipendente l’uno dall’altro. Solitamente un OLTP ha una capacità di memoria ridotta e i dati storici vengono frequentemente archiviati, scelta necessaria per mantenere performante il sistema in termini di rapidità di gestione delle transazioni.
OLTP deve rispettare gli standard ACID: atomicità, consistenza, isolamento, durabilità, cioè un insieme di proprietà che garantiscono la coerenza dei dati del sistema e che rendono fluide e rapide le operazioni di registrazione e salvataggio delle transazioni.

OLAP è l’acronimo di On-Line Analytical Processing, che identifica un sistema di accesso, estrazione e analisi dei dati di tipo multidimensionale. Se per OLTP l’obiettivo principale è il supporto alla gestione delle operazioni, quello di OLAP è il supporto all’attività decisionale: gli utilizzatori del sistema OLAP sono gli analisti e il management, che analizzando in modo interattivo una grande mole di dati possono identificare punti di forza e debolezza di un sistema aziendale. Riprendendo l’esempio della compagnia aerea,
le analisi più comuni di un sistema OLAP possono riguardare l’analisi delle tendenze, l’andamento dei costi, le previsioni di vendita, il budgeting.
Alla base del sistema OLAP ci sono i cubi OLAP, delle strutture che permettono di combinare le informazioni raccolte come misure (fatti) e ambiti (dimensioni) e di ottenerne una lettura incrociata. Si pensi ad un cubo di Rubik in cui sono presenti tre dimensioni e n sezioni per ogni faccia. Nell’ambito della compagnia aerea, un esempio di struttura a cubo potrebbe incrociare le dimensioni di tempo, spazio e prodotto, cioè i mesi (12), gli aeroporti di destinazione (10) e la tipologia di biglietti (3). Otterremmo un cubo composto da 360 piccoli cubi, combinazioni delle tre dimensioni selezionate e per ogni combinazione potremmo definire una misura d’analisi, ad esempio il numero di biglietti venduti. Queste strutture permettono di incrociare in maniera dinamica le informazioni e produrre analisi ad ogni livello di dettaglio. Il cubo OLAP consente diverse modalità di navigazione dei dati: Drill-down, analisi ad un livello di dettaglio maggiore della gerarchia dimensionale, esempio Provincia -> Città;  RollUP, inverso di Drill-down; Dicing, selezione di una porzione specifica o un sottoinsieme; Slicing, rotazione delle dimensioni di analisi, e Pivot. Il sistema OLAP può essere direttamente interrogato o può rappresentare la base per un sistema di data visualization strutturato su più cubi.  

Figura 1 – Cubo OLAP

Differenze

I due sistemi alla base hanno strutture diverse: database transazionale per OLTP, datawarehouse o sistema di analisi per OLAP. Trattando dati di tipo diverso, i tempi di risposta all’interrogazione sono differenti, infatti per l’estrazione di pochi record su un sistema a memoria ridotta come un OLTP i tempi posso essere brevi, ma per analisi complesse e su grandi moli di dati è necessario un sistema OLAP. In quest’ultimo è possibile integrare anche dei moduli di data minig  e machine learning che per definizione si basano su grandi quantità di dati e su un impianto più strutturato come il datawarehouse.
Oltre allo scopo, ci sono molti aspetti che caratterizzano i due sistemi e che evidenziano il ruolo complementare più che concorrente di OLTP e OLAP. Una soluzione largamente adottata per rispondere alle diverse necessità aziendali consiste nel mantenere una finestra temporale ridotta e pertinente per i sistemi OLTP e scaricare i dati storici su altri sistemi, come un datamart o un datawarehouse. Questa soluzione, che è stata schematizzata nell’immagine seguente, è una possibilità. Ogni tipo di business ha delle necessità differenti che hanno bisogno di un’analisi specifica al fine di individuare la soluzione più adatta.

Figura 2 – Fonte: https://docs.microsoft.com/it-it/system-center/scsm/olap-cubes-overview?view=sc-sm-2019



FONTI:

“Data Warehousing, dal dato all’informazione”, F. La Noce, L. D’Ercole https://www.lorenzogovoni.com/olap/
https://www.lorenzogovoni.com/oltp/
https://www.businessintelligencegroup.it/olap-e-oltp-cosa-sono-e-quali-sono-le-principali-differenze/
http://databasemaster.it/dbms-oltp-dbms-olap/

Categorie: Analytics

0 commenti

Lascia un commento