OLAP

Da Wikipedia, l'enciclopedia libera.

OLAP, acronimo che sta per l'espressione On-Line Analytical Processing, designa un insieme di tecniche software per l'analisi interattiva e veloce di grandi quantità di dati, che è possibile esaminare in modalità piuttosto complesse. Questa è la componente tecnologica base del data warehouse e, ad esempio, serve 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, a una università i dati di un sondaggio ed altri casi simili. Gli strumenti OLAP si differenziano dagli OLTP per il fatto che i primi hanno come obiettivo la performance nella ricerca e il raggiungimento di un'ampiezza di interrogazione quanto più grande possibile; i secondi, invece, hanno come obiettivo la garanzia di integrità e sicurezza delle transazioni.

Funzionalità[modifica | modifica sorgente]

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.

Esempio di cubo OLAP a 3 dimensioni: prodotti, città, tempo
Esempio di schema a stella

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 saranno aggregati i dati.

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. In realtà viene memorizzato solo un numero predeterminato di combinazioni, 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.

Tipi di sistemi OLAP[modifica | modifica sorgente]

Partendo dai concetti di base appena descritti, si può precisare 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 avente un motore specifico 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é è veloce nel calcolare aggregazioni e restituire risultati, ma crea enormi quantità di dati intermedi.

ROLAP è considerato più scalabile e richiede minor spazio disco e minore RAM, ma è 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 complessa, decisamente complicata per una base di utenza ampia ed eterogenea.

Per venire incontro alle esigenze degli utenti, molti prodotti moderni forniscono una quantità enorme di schemi ed interrogazioni pre-impostate.

Caratteristiche di un OLAP[modifica | modifica sorgente]

Le funzioni di base di uno strumento OLAP sono:

  • Pivoting: è l'operazione di rotazione delle dimensioni di analisi. È un'operazione fondamentale per analizzare totali ottenuti in base a dimensioni diverse o se si vogliono analizzare aggregazioni trasversali;
  • Slicing: è l'operazione di estrazione di un subset di informazioni dall'aggregato che si sta analizzando. L'operazione di slicing viene eseguita fissando uno specifico valore per una delle dimensioni del "cubo", estraendo quindi una "fetta" e ottenendo un nuovo cubo con una dimensione in meno rispetto a quello di partenza;
  • Dicing: è l'operazione di estrazione di un subset di informazioni dall'aggregato che si sta analizzando. L'operazione di dicing viene eseguita quando l'analisi viene focalizzata su un sottoinsieme del "cubo" avente particolare interesse per l'analista. In alcuni casi l'operazione di dicing può essere "fisica" nel senso che non consiste solo nel filtrare le informazioni di interesse ma anche nell'estrarle dall'aggregato generale per distribuirne i contenuti;
  • Drill-down: è l'operazione di "esplosione" del dato nelle sue determinanti. L'operazione di drill-down può essere eseguita seguendo due diversi percorsi: la gerarchia costruita sulla dimensione di analisi (p. es.: passaggio dalla famiglia di prodotti all'insieme dei prodotti che ne fanno parte) oppure la relazione matematica che lega un dato calcolato alle sue determinanti (p. es.: passaggio dal margine al ricavo e costo che lo generano). È comprensibile l'importanza di tale operazione ai fini analitici in termini di comprensione delle determinanti di un dato;
  • Drill-across: è l'operazione mediante la quale si naviga attraverso uno stesso livello nell'ambito di una gerarchia. Come visto precedentemente, il passaggio dalla famiglia di prodotti alla lista dei prodotti è un'operazione di drill-down, il passaggio da una famiglia a un'altra famiglia è un'operazione di drill-across;
  • Drill-through: concettualmente simile al drill-down, è l'operazione mediante la quale si passa da un livello aggregato al livello di dettaglio appartenente alla base dati normalizzata. Molti venditori proclamano che i loro prodotti hanno la capacità, mediante l'operazione di drill-through, di passare dal data warehouse ai sistemi transazionali alimentanti. Tale operazione, anche se tecnicamente fattibile sotto una serie di condizioni abbastanza rilevanti, è poco sensata per le problematiche di sicurezza e di performance indotti nei sistemi transazionali stessi.

Punti deboli[modifica | modifica sorgente]

I punti deboli degli strumenti OLAP sono:

  • Inaccessibilità/difficoltà ad accedere al livello atomico del dato: gli strumenti OLAP funzionano molto bene su dati di sintesi, non è conveniente usarli su dati analitici;
  • Sistemi di backup / restore / security / rollback non molto sofisticati o inesistenti: pur essendo in molti casi dei motori database, gli strumenti OLAP non hanno ancora raggiunto il livello di completezza dei database relazionali, principalmente perché, a differenza di questi ultimi, non hanno un paradigma concettuale di riferimento come la teoria di Codd, ma sono soggetti alle interpretazioni dei diversi produttori software;
  • Richiede una struttura denormalizzata per funzionare in maniera efficiente: i motori OLAP generano grandi masse di dati per il semplice fatto che per migliorare le prestazioni di accesso sono costretti a memorizzare chiavi ridondanti e sommarizzazioni;
  • Possibile proliferazione del codice SQL: nel caso in cui il database su cui vengono effettuate le analisi OLAP non sia multidimensionale (MOLAP) ma sia relazionale (ROLAP), ognuna delle operazioni sopra descritte (slicing, dicing, drilling) provoca la generazione e l'esecuzione di query SQL estremamente complesse, che richiedono molte risorse di elaborazione.

Prodotti[modifica | modifica sorgente]

Il primo prodotto che permetteva interrogazioni OLAP è stato rilasciato da Edgar F. Codd nel 1970 (ed acquisito da Oracle nel 1995). Comunque il termine OLAP non venne utilizzato fino al 1993, quando fu coniato da 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 acquisito da Oracle dal marzo 2007).

Altri prodotti molto conosciuti sono SAS enterprise intelligence platform, IBM DB2 OLAP Server (una versione OEM di Essbase), SAP BW, Business Objects, DataTime, Cognos, MicroStrategy, Lilith (Hicare), Sybase IQ, Microsoft Analysis Services (precedentemente chiamato OLAP Services) che è parte di Microsoft SQL Server, Oracle Business Intelligence Suite, Brio, DssMUSA di IG Consulting, BIExplore di Sediin, Information Builders, QlikView, Cartesio di SIAV ed altri ancora.

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]