OLAP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
{{F|basi di dati|aprile 2010}}
'''OLAP''', [[acronimo]] che sta per ldell'espressione '''OnO'''n-Line'''L'''ine''' AnalyticalA'''nalytical''' ProcessingP'''rocessing, 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à per organizzare i dati di un [[sondaggio (statistica)|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 interrogazioneinterrogazioni quanto più grandearticolate sia possibile; i secondi, invece, hannomirano comead obiettivo launa garanzia di integrità e sicurezza delle transazioni.
 
== 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ìin tal modo strutturati, è possibile ottenere risposte in tempi decisamente ridotti rispetto alle stesse operazioni effettuate su altre tipologie di database, anche perché il DBdatabase di un sistema [[OLTP]] non è stato studiato per consentire analisi articolate.
 
[[File:OLAP Cube.png|thumb|Esempio di cubo OLAP a 3 dimensioni: prodotti, città, tempo]]
[[File:Esquema en estrella.png|thumb|Esempio di schema a stella]]
Una struttura OLAP creata per questo scopo è chiamata "[[Cube (OLAP)|''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 maggiore dei "fatti"''facts'' che elenca i principali elementi su cui sarà costruita l'interrogazione, e collegate aad questaessa tabella ci sonosussistono 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.
Riga 17:
Un sistema OLAP permette di:
* studiare una grande quantità di dati
* vedereanalizzare i dati da prospettive diverse
* supportare i processi decisionali.
 
== Tipi di sistemi OLAP ==
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''). Ciascuna di queste tipologie presenta i propri benefici, benché non vi sia una concordanza completa relativamente ad essi.
* MOLAP è la tipologia più utilizzatausata e ci si riferisce ad essa comunemente con il termine OLAP. UtilizzaSfrutta un database di riepilogo avente un motore specifico per l'analisi multidimensionale e crea le "''dimensioni"'' con un misto di dettaglio ed aggregazioni. Risulta la scelta migliore per quantità di dati ridotte, perché è rapido nel calcolare aggregazioni e restituire risultati; tuttavia crea enormi quantità di dati intermedi.
 
* ROLAP lavora direttamente con [[database relazionale|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. E' considerato più scalabile e presenta requisiti di archiviazione e memoria minori; tuttavia, è lento nella creazione delle tabelle e nel generare il rapporto circa le interrogazioni.
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.
* HOLAP utilizza tabelle relazionali per memorizzare i dati e le tabelle multidimensionali per le aggregazioni "speculative". Come dice il nome, questo sistema è un ibrido, poiché viene creato più velocemente di un sistema ROLAP ed è al tempo stesso più scalabile di MOLAP.
 
La difficoltà nell'implementazione di un database OLAP partecomincia 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.
ROLAP lavora direttamente con [[database relazionale|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.
Riga 55 ⟶ 43:
 
* 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 [[12 regole di Codd|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.