OLAP
OLAP, è un acronimo che sta per l'espressione [Online Analytical Processing], è un insieme di tecniche software per analizzare velocemente grandi quantità di dati, anche in modo complesso.
Questa è la componente tecnologica base del data warehouse, serve ad esempio alle aziende per analizzare i risultati delle vendite, l'andamento dei costi di acquisto merci, al marketing per misurare il successo di una campagna pubblicitaria, ad una università i dati di un sondaggio ed altri casi simili.
Funzionalità
La creazione di un database OLAP consiste nell'effettuare una fotografia di informazioni (ad esempio quelle di un database relazionale) in un determinato momento e trasformare queste singole informazioni in dati multidimensionali.
Eseguendo successivamente delle interrogazioni sui dati così strutturati è possibile ottenere risposte in tempi decisamente ridotti rispetto alle stesse operazioni effettuate su altre tipologie di database, anche perché il DB di un sistema OLTP non è stato studiato per consentire analisi articolate.
Una struttura OLAP creata per questo scopo è chiamata "cubo" multidimensionale. Ci sono diversi modi per creare un cubo ma il più conosciuto è quello che utilizza uno schema "a stella"; al centro c'è la tabella dei "fatti" che elenca i principali elementi su cui sarà costruita l'interrogazione, e collegate a questa tabella ci sono varie tabelle delle "dimensioni" che specificano come i dati saranno aggregati.
Per esempio un archivio di clienti può essere raggruppato per città, provincia, regione; questi clienti possono essere relazionati con i prodotti ed ogni prodotto può essere raggruppato per categoria.
Il calcolo delle possibili combinazioni di queste aggregazioni forma una struttura OLAP che, potenzialmente, potrebbe contenere tutte le risposte per ogni singola combinazione. Nella realtà solo un numero predeterminato di combinazioni viene memorizzato, mentre le rimanenti vengono ricalcolate solo al momento in cui quella richiesta viene materialmente effettuata.
Un sistema Olap permette di:
- studiare una grande quantità di dati
- vedere i dati da prospettive diverse
- supportare i processi decisionali
Tipologie di sistemi OLAP
Partendo dai concetti di base appena descritti, possiamo aggiungere che esistono tre tipologie di sistemi OLAP: multidimensionale (MOLAP: Multidimensional OLAP), relazionale (ROLAP: Relational OLAP) e ibrido (HOLAP: Hybrid OLAP).
MOLAP è la tipologia più utilizzata e ci si riferisce ad essa comunemente con il termine OLAP. Utilizza un database di riepilogo che ha uno specifico motore per l'analisi multidimensionale e crea le "dimensioni" con un misto di dettaglio ed aggregazioni.
ROLAP lavora direttamente con database relazionali; i dati e le tabelle delle dimensioni sono memorizzati come tabelle relazionali e nuove tabelle sono create per memorizzare le informazioni di aggregazione.
HOLAP utilizza tabelle relazionali per memorizzare i dati e le tabelle multidimensionali per le aggregazioni "speculative".
Ogni tipologia presenta vantaggi, ma non c'è un accordo completo relativamente a questi vantaggi .
MOLAP risulta la scelta migliore per quantità di dati ridotte, perché è più veloce nel calcolare le aggregazioni e restituire risultati, ma crea enormi quantità di dati intermedi.
ROLAP è considerato più scalabile e necessita di minor spazio disco e uso di RAM, ma è il più lento nella fase di creazione tabelle e nel produrre il risultato delle interrogazioni.
HOLAP si pone nel mezzo, è in grado di essere creato più velocemente di ROLAP ed è più scalabile di MOLAP.
La difficoltà nell'implementazione di un database OLAP parte dalle ipotesi delle possibili interrogazioni utente; scegliere la tipologia di OLAP, lo schema e creare una base dati completa e consistente è un'operazione piuttosto complicata. Decisamente complicata per una base di utenza ampia ed eterogenea.
Molti prodotti moderni forniscono una quantità enorme di schemi ed interrogazioni pre-impostate per venire incontro alle esigenze degli utenti.
Prodotti
Il primo prodotto che permetteva interrogazioni OLAP è stato rilasciato da Ted Codd nel 1970 (ed acquisito da Oracle nel 1995). Comunque il termine OLAP non venne utilizzato fino al 1993, quando fu coniato da Ted Codd, che viene peraltro considerato il "padre dei database relazionali". Le ricerche di Codd furono tuttavia finanziate dalla Arbor, che rilasciò un anno prima il proprio prodotto OLAP Essbase (noto in seguito con il nome di Hyperion, software recentemente acquisito da Oracle).
Altri prodotti molto conosciuti sono SAS® enterprise intelligence platform, IBM DB2 OLAP Server (una versione OEM di Essbase), SAP BW, Business Objects, Cognos, MicroStrategy, Sybase IQ, Microsoft Analysis Services (precedentemente chiamato OLAP Services) che è parte di Microsoft SQL Server, Oracle Business Intelligence Suite, Brio, DssMUSA di IG Consulting, Information Builders, QlikView ed altri ancora.
Collegamenti esterni
- Sito The Olap Report, curato da Nigel Pendse
- The OLAP Survey, rassegna annuale indipendente relativa al mondo OLAP
- Sito www.olap.it, curato da Andrea Vincenzi, in lingua italiana e inglese
- (EN) A chapter from Erik Thomsen's book OLAP Solutions: Building Multidimensional Information Systems, 2nd Edition
- Introduzione alla gestione dei dati multidimensionali in XBRL