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
 
(43 versioni intermedie di 33 utenti non mostrate)
Riga 1:
{{F|informaticabasi 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, ada 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.
 
L'applicazione tipica di OLAP è all'interno di strumenti di [[business intelligence]] (BI).
== 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.
== Descrizione ==
=== Funzionalità ===
La creazione di un [[database]] OLAP consiste nell'effettuare unaun'[[Snapshot|istantanea]] fotografia didelle 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 ⟶ 20:
Un sistema OLAP permette di:
* studiare una grande quantità di dati
* vedereanalizzare i dati da prospettive diverse
* supportare i [[decisione|processi decisionali]] nell'ambito della [[Business Intelligence]].
 
== 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'').
 
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 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.
 
=== Tipi di sistemi OLAP ===
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.
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. È 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 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.
 
Per venire incontro alle esigenze degli utenti, molti prodotti moderni forniscono una quantità enorme di schemi ed interrogazioni pre-impostate.
 
==Caratteristiche= di unOperatori OLAP ===
LeGli funzioni dioperatori base di uno strumento OLAP per fare analisi multidimensionale dei dati sono:
 
* ''Slicingpivoting'': è 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;
* ''Dicingslicing'': è l'operazione di ''estrazione'' di un subset di informazioni dall'aggregato che si sta analizzando. L'operazione di dicingslicing viene eseguita quandofissando l'analisiuno vienespecifico focalizzatavalore super una "fettadelle dimensioni del "cubo", aventeestraendo particolarequindi interesse per l'analista. In alcuni casi l'operazione di dicing può essereuna "fisicafetta" nele sensoottenendo cheun nonnuovo consistecubo solocon neluna filtraredimensione lein informazionimeno dirispetto interessea maquello anche nell'estrarle dall'aggregato generale per distribuirne idi contenutipartenza;
* ''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;
* ''Drilldrill-acrossdown'': è l'operazione mediantedi la"esplosione" qualedel sidato naviganelle attraversosue uno stesso livellodeterminanti. nellL'ambitooperazione di unadrill-down può essere eseguita seguendo due diversi percorsi: la ''gerarchia.'' Comecostruita vistosulla precedentemente,dimensione ildi analisi (p. es.: passaggio dalla famiglia di prodotti alla listaall'insieme dei prodotti èche ne fanno parte) oppure la un'operazione'relazione dimatematica'' drill-down,che illega un dato calcolato alle sue determinanti (p. es.: passaggio dadal unamargine famigliaal adricavo un'altrae famigliacosto èche unlo generano). È comprensibile l'importanza di tale operazione ai fini analitici in termini di drill-acrosscomprensione delle determinanti di un dato;
* ''Drilldrill-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 ===
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.
 
== Prodotti ==
Il primo prodotto che permetteva interrogazioni OLAP è stato rilasciato da [[Edgar F. Codd]] nel [[1970]] (ed acquisito da [[Oracle Corporation|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 [[Original Equipment Manufacturer|OEM]] di Essbase), [[SAP BW(azienda)|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.
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).
 
== Voci correlate ==
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]], 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, Information Builders, QlikView, Cartesio di SIAV ed altri ancora.
* [[Cubo OLAP]]
 
==Voci correlateAltri progetti ==
{{interprogetto}}
*[[Cubo OLAP]]
*[[Dicing]]
 
== Collegamenti esterni ==
* [{{cita web|http://www.olapreport.com |Sito The Olap Report, curato da Nigel Pendse]}}
* [{{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|http://www.datatime.eu/ |DataTime Universal: ROLAP product]}}
* [{{cita web|http://www.olap.it |Sito www.olap.it, curato da Andrea Vincenzi, in lingua italiana e inglese]}}
* {{en}}cita [web|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]|lingua=en}}
* [{{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à}}
[[Categoria:Software per base dati]]
{{portale|informatica}}
 
[[deCategoria:Online Analytical Processing| ]]
[[az:OLAP]]
[[be:Аператыўная аналітычная апрацоўка дадзеных]]
[[bg:OLAP]]
[[ca:OLAP]]
[[cs:OLAP]]
[[de:Online Analytical Processing]]
[[en:Online analytical processing]]
[[es:OLAP]]
[[fa:پردازش تحلیلی برخط]]
[[fr:Online Analytical Processing]]
[[he:עיבוד אנליטי מקוון]]
[[id:OLAP]]
[[ja:OLAP]]
[[nl:Online analytical processing]]
[[no:OLAP]]
[[pl:Online analytical processing]]
[[pt:OLAP]]
[[ru:OLAP]]
[[sk:OLAP]]
[[uk:OLAP]]
[[zh:線上分析處理]]