Cubi al posto di tabelle: la metodologia OLAP nasce per velocizzare la risposta alle query attraverso un sistema diverso di organizzazione dei database.
Nei cubi OLAP, i dati vengono archiviati in specifici modelli semantici, da cui partire per analisi più elaborate, con conseguente risparmio di tempo e risorse.
Spesso utilizzata a supporto delle decisioni strategiche, OLAP richiede impegno nella pre-modellazione e comporta una minore frequenza negli aggiornamenti dei database: usata nell’analisi predittiva, non è adatta al supporto in real-time.
Cosa significa OLAP – Online Analytical Processing
OLAP è l’acronimo di Online Analytical Processing, “elaborazione analitica online”: si tratta di un insieme di tecniche per l’analisi rapida e multidimensionale dei big data, a partire dall’organizzazione di appositi database.
La metodologia OLAP fa parte della business intelligence, la capacità aziendale di ricavare informazioni utili dai dati a disposizione con strumenti specifici: in particolare, OLAP nasce per velocizzare il processo di lettura, analisi e recupero dati attraverso una diversa struttura e organizzazione dei database.
Nei database standard, i dati vengono memorizzati sotto forma di fogli di calcolo e tabelle bidimensionali, non adatte alle analisi a più dimensioni: i database OLAP utilizzano cubi anziché tabelle, strutture di calcolo in tre o più dimensioni anziché 2D.
Margaret Rouse, olap.com, Guru99, CC BY-SA 4.0, via Wikimedia Commons
Un database OLAP è formato da uno o più cubi: quando ha più di tre dimensioni, un cubo OLAP viene detto ipercubo. Ciascun cubo è una matrice, progettata attraverso specifici modelli semantici, schemi logici di programmazione che descrivono le relazioni tra i dati per trovarne il significato.
Attraverso questi modelli concettuali, i dati vengono pre-elaborati, aggregati e archiviati già con specifiche “etichette” (metadati): al momento della query, ovvero della domanda di ricerca da parte dell’utente, con i cubi diventa più facile e veloce trovare le risposte e comporre i report richiesti.
Come funziona un online analytical processing
Il processo OLAP estrae i dati da più fonti, eterogenee e non correlate tra loro, li memorizza in data warehouse semplici ma poi li pulisce, organizza in modelli semantici e archivia definitivamente in cubi.
In ciascun cubo le misure, ovvero i dati numerici, vengono organizzati per dimensioni, ovvero categorie che possono essere, ad esempio, geografiche o temporali.
Queste dimensioni-categorie sono strutturate per gerarchie a livelli: modelli ad albero, in cui dati e gruppi di dati, chiamati membri, vengono classificati in relazioni di somiglianza, familiarità e derivazioni, le cosiddette relazioni “padre-figlio”.
In un cubo, quindi, le “misure”, i dati numerici, sono già pre-elaborati e memorizzati in dimensioni gerarchiche: un livello “di partenza” che fa risparmiare tempo e consente di implementare le analisi specifiche successive.
Ciascun dato, o gruppo di dati, può appartenere a più dimensioni: in OLAP non c’è quindi una singola corrispondenza tra valore numerico ed “etichetta”.
Ciò comporta un maggiore impegno in fase di pre-modellazione e di competenza IT e una minore frequenza negli aggiornamenti dei database: la metodologia OLAP è adatta all’implementazione di scenari di analisi predittiva “what-if”, “se-allora”, quindi al supporto nelle decisioni strategiche, ma non al real-time decisioning, al supporto alle decisioni in tempo reale a seguito di imprevisti o cambiamenti repentini.
Differenza tra OLAP e OLTP
OLTP è l’acronimo di OnLine Transaction Processing, l’ “elaborazione delle transazioni online”: un insieme di tecniche per gestire le applicazioni che supportano le transazioni online.
Un sistema OLTP nasce per elaborare, aggiornare ed eliminare i dati delle transazioni: le differenze con OLAP, nato per analizzare velocemente dati multidimensionali, sono molteplici.
Anche se eterogenei, i dati di un sistema OLTP possono essere facilmente strutturati nelle classiche tabelle a due dimensioni, al contrario di quelli OLAP: questo consente ad un OLTP di essere aggiornato in tempo reale, una caratteristica fondamentale per gestire le transazioni online, brevi e frequenti.
Gli OLAP invece, strutturati per cubi, vengono aggiornati molto meno spesso e non sono progettati per il controllo delle operazioni in tempo reale: viceversa, forniscono supporto alla pianificazione e alle decisioni a medio-lungo termine.
Agli OLTP non si chiedono analisi complesse, al contrario degli OLAP, che riescono a mantenere velocità di analisi e coerenza nella computazione: l’aggiornamento costante degli OLTP mette invece a rischio l’integrità dei loro database, che richiede maggiore manutenzione.
Caratteristiche di un OLAP
L’OLAP consente di eseguire sul database le seguenti operazioni principali: pivoting, slicing, dicing, drill-down, drill-across.
Pivoting
In un cubo OLAP le misure, ovvero i valori dei dati, sono organizzate per dimensioni. L’operazione di pivoting nei database tradizionali in tabella consiste nel trasportare i dati da più righe a una sola riga. Nel cubo consiste nel “ruotare” le dimensioni del cubo per aggregare e analizzare i dati in modo trasversale.
Slicing
L’operazione di slicing consiste nell’ “affettare” il cubo, estrarne una specifica dimensione, quindi uno specifico set di dati, e generare con questa fetta un sottocubo selezionato per l’analisi.
Dicing
L’operazione di dicing è invece “tagliare il cubo a dadini”: l’estrazione non riguarda una singola dimensione ma due o più dimensioni di dati. Di conseguenza, anche il sottocubo generato sarà un aggregato multidimensionale.
Drill-down
L’operazione di “drill-down” consiste nello “scavare in fondo al cubo” per capire le diverse determinanti del dato, che viene frammentato in parti più piccole. Si esegue attraverso l’analisi della gerarchia che compone la dimensione a cui appartiene il dato, oppure aumentando la profondità della dimensione del dato. L’operazione opposta al drill-down è il drill-up, la “risalita nel cubo” per una granularità meno dettagliata del dato.
Drill-across
Il “drill-across” consiste nel passare da un livello all’altro della stessa gerarchia dimensionale. In un cubo OLAP una dimensione è strutturata in gerarchie, a loro volta composte da livelli: con il “drill-across” si naviga tra le celle con lo stesso schema.
Tipologie di OLAP
Esistono tre tipologie principali di OLAP: MOLAP, ROLAP e HOLAP.
Il MOLAP – Multidimensional Online Analytical Processing, utilizza i cubi multidimensionali; il ROLAP – Relational Online Analytical Processing, utilizza i database relazionali; l’HOLAP – Hybrid Online Analytical Processing, è l’ibrido che archivia i dati specifici in database relazionali e quelli aggregati nei database a cubo.
A queste tipologie si aggiungono: DOLAP – Desktop OLAP, in cui un utente scarica parte del database sul desktop per analizzarlo; WOLAP – Web OLAP, accessibile via browser; Mobile OLAP, che utilizza i dispositivi mobile per analizzare i dati; SOLAP – Spatial OLAP, che utilizza il GIS per organizzare i dati.