OLAP: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullata la modifica di 37.182.177.169 (discussione), riportata alla versione precedente di Erirus Etichetta: Rollback |
|||
| (83 versioni intermedie di 60 utenti non mostrate) | |||
Riga 1:
{{F|basi di dati|aprile 2010}}
'''OLAP''', [[acronimo]]
L'applicazione tipica di OLAP è all'interno di strumenti di [[business intelligence]] (BI).
== Funzionalità ==▼
== Descrizione ==
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.▼
▲=== Funzionalità ===
▲La creazione di un [[database]] OLAP consiste nell'effettuare
Eseguendo successivamente delle interrogazioni sui dati,
[[File:OLAP Cube.png|thumb|Esempio di cubo OLAP a 3 dimensioni: prodotti, città, tempo]]
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.▼
[[File:Esquema en estrella.png|thumb|Esempio di schema a stella]]
▲Una struttura OLAP creata per questo scopo è chiamata
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.
Un sistema
* studiare una grande quantità di dati
*
* supportare i [[decisione|processi decisionali]] nell'ambito della [[Business Intelligence]].
===
Partendo dai concetti di base appena descritti,
* MOLAP è la tipologia più
* 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. È 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.▼
* 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
▲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).
=== Operatori 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.
Gli operatori base di uno strumento OLAP per fare analisi multidimensionale dei dati 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;
▲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.
* ''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 ===
▲HOLAP utilizza tabelle relazionali per memorizzare i dati e le tabelle multidimensionali per le aggregazioni "speculative".
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 [[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.
▲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
Altri prodotti molto conosciuti sono
▲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 [[Original Equipment Manufacturer|OEM]] di Essbase), [[SAP BW]], [[Business Objects]], DataTime, [[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.
== Voci correlate ==
== Altri progetti ==
{{interprogetto}}
== Collegamenti
* {{cita web | 1 = http://www.survey.com/olap | 2 = The OLAP Survey, rassegna annuale indipendente relativa al mondo OLAP | accesso = 17 agosto 2007 | urlarchivio = https://web.archive.org/web/20071014211706/http://www.survey.com/olap/ | dataarchivio = 14 ottobre 2007 | urlmorto = sì }}
*
* {{
* {{cita web|url=http://rafware.it/ias/index.php?id=2706|titolo=Introduzione alla gestione dei dati multidimensionali in XBRL|urlmorto=sì|urlarchivio=https://web.archive.org/web/20071009052323/http://rafware.it/ias/index.php?id=2706|dataarchivio=9 ottobre 2007}}
{{Controllo di autorità}}
{{portale|informatica}}
▲* [http://www.olapreport.com Sito The Olap Report, curato da Nigel Pendse]
▲* [http://www.datatime.eu/ DataTime Universal: ROLAP product]
▲* [http://www.olap.it/Books.htm Sito www.olap.it, curato da Andrea Vincenzi, in lingua italiana e inglese]
▲*{{en}} [http://dev.hyperion.com/resource_library/articles/olap_solutions.cfm A chapter from Erik Thomsen's book ''OLAP Solutions: Building Multidimensional Information Systems'', 2nd Edition]
▲[[az:OLAP]]
▲[[de:Online Analytical Processing]]
| |||