Essbase software | |
---|---|
Genere | Database management system |
Sviluppatore | Arbor Software Corporation |
Ultima versione | 21.6 (agosto 2024) |
Sistema operativo | Microsoft Windows |
Linguaggio | C++ JavaScript C Java |
Licenza | (licenza non libera) |
Sito web | www.oracle.com/it/business-analytics/essbase.html |
Essbase è un sistema di gestione di database multidimensionale (MDBMS) che fornisce una piattaforma di database multidimensionale su cui costruire applicazioni analitiche.
Essbase, il cui nome deriva da "database esteso per fogli di calcolo", è nato come prodotto di Arbor Software, che si è fusa in Hyperion Software nel 1998. Oracle Corporation ha acquisito Hyperion Solutions Corporation nel 2007, dal 2009 Oracle ha commercializzato Essbase come "Oracle Essbase" (un prodotto locale) e, più recentemente, Essbase viene offerto come parte di Oracle Analytics Cloud. Fino alla fine del 2005 IBM commercializzava anche una versione OEM di Essbase come DB2 OLAP Server.[1]
Il ricercatore di database Edgar F. Codd ha coniato il termine "elaborazione analitica on-line" (OLAP) in un white paper[2] che stabilisce dodici regole per i sistemi analitici (un'allusione alla sua precedente serie di dodici regole che definiscono il modello relazionale ). Questo white paper, pubblicato da Computerworld, era in qualche modo esplicito nel suo riferimento alle funzionalità di Essbase, e quando in seguito fu scoperto che Codd era stato sponsorizzato da Arbor Software, Computerworld ritirò il documento.[3]
A differenza della "elaborazione delle transazioni online" (OLTP), OLAP definisce una tecnologia di database ottimizzata per l'elaborazione di query di alto livello anziché delle transazioni. I risultati di questo orientamento sono stati che i database multidimensionali orientavano i loro requisiti di prestazione attorno a una serie diversa di parametri di riferimento (Analytic Performance Benchmark, APB-1) rispetto a quello di RDBMS (Transaction Processing Performance Council (TPC)).
Hyperion ha ribattezzato molti dei suoi prodotti nel 2005, dando a Essbase un nome ufficiale di Hyperion System 9 BI + Analytic Services, ma il nuovo nome è stato ampiamente ignorato dai professionisti. Il marchio Essbase è stato in seguito restituito al nome ufficiale del prodotto per scopi di marketing, ma il software del server portava ancora il titolo "Analytic Services" fino a quando non è stato incorporato nel prodotto Oracle business intelligence Foundation Suite (BIFS).[4]
Nell'agosto 2005, la rivista Information Age ha nominato Essbase come una delle 10 innovazioni tecnologiche più influenti degli ultimi 10 anni,[5] insieme a Netscape, BlackBerry, Google, virtualizzazione, Voice Over IP (VOIP), Linux, XML, il Processore Pentium e ADSL. L'editore Kenny MacIver ha dichiarato: "Hyperion Essbase è stata la tecnologia di database multidimensionale che ha messo l'elaborazione analitica online nel mondo della business intelligence. Ha stimolato la creazione di decine di prodotti OLAP rivali e miliardi di cubi OLAP".
Sebbene Essbase è stato classificato come database multidimensionale generico, è stato originariamente sviluppato per risolvere i problemi di scalabilità associati a fogli di calcolo come Lotus 1-2-3 e Microsoft Excel. In effetti, il brevetto che copre (ora scaduto) Essbase utilizza fogli di calcolo come esempio motivante per illustrare la necessità di un tale sistema.[6]
In questo contesto, "multidimensionale" si riferisce alla rappresentazione di dati finanziari in formato foglio elettronico. Un tipico foglio di calcolo può visualizzare intervalli di tempo lungo le intestazioni di colonna e i nomi degli account nelle intestazioni di riga. Per esempio:
Gennaio | Febbraio | Marzo | Totale | |
---|---|---|---|---|
Quantità | 1000 | 2000 | 3000 | 6000 |
Ricavi | € 100 | € 200 | € 300 | € 600 |
Costi | € 80 | € 160 | € 240 | € 480 |
Margine | € 20 | € 40 | € 60 | € 120 |
Se un utente desidera suddividere questi valori per regione, ad esempio, ciò comporta in genere la duplicazione di questa tabella su più fogli di calcolo:
|
|
|
Una rappresentazione alternativa di questa struttura richiederebbe una griglia di foglio di calcolo tridimensionale, dando origine all'idea che "Tempo", "Conto" e "Regione" sono dimensioni di analisi. Man mano che vengono aggiunte ulteriori dimensioni al sistema, diventa molto difficile mantenere fogli di calcolo che rappresentano correttamente i valori multidimensionali. Database multidimensionali come Essbase forniscono un archivio dati per valori che esistono, almeno concettualmente, in un "ipercubo" multidimensionale.
Con l'aumentare del numero e delle dimensioni delle dimensioni, gli sviluppatori di database multidimensionali affrontano sempre più problemi tecnici nella rappresentazione fisica dei dati. Supponiamo che l'esempio sopra sia stato esteso per aggiungere una dimensione di analisi "Cliente" e "Prodotto":
Dimensione | Numero di elementi per dimensione |
---|---|
Conti | 4 |
Tempo | 4 |
Regione | 3 |
Cliente | 10.000 |
Prodotto | 5.000 |
Se il database multidimensionale riservasse spazio di archiviazione per ogni possibile valore, sarebbe necessario memorizzare 2.400.000.000 (4 × 4 × 3 × 10.000 × 5.000) celle. Se il software mappa ogni cella come un valore in virgola mobile a 64 bit, ciò equivale a un requisito di memoria di almeno 17 gigabyte (esattamente 19.2 GB). Nella realtà ovviamente, il numero di combinazioni di "Cliente" e "Prodotto" che contengono valori significativi sarà un piccolo sottoinsieme dello spazio totale. Questa proprietà degli spazi multidimensionali viene definita scarsità.
I sistemi OLAP generalmente forniscono livelli multipli di dettaglio all'interno di ciascuna dimensione disponendo i membri di ciascuna dimensione in una o più gerarchie . Una dimensione temporale, ad esempio, può essere rappresentata come una gerarchia che inizia con "Tempo totale" e si suddivide in più anni, quindi trimestri, quindi mesi. Una dimensione Conti può iniziare con "Margine", che si divide in "Ricavi" e "Costi" e così via.
Nell'esempio sopra, se "Prodotto" rappresenta SKU di singoli prodotti, gli analisti potrebbero anche voler creare report utilizzando aggregazioni come "Gruppo di prodotti", "Famiglia di prodotti", "Linea di prodotti", ecc. Allo stesso modo, per "Cliente", aggregazioni naturali possono organizzare i clienti in base alla posizione geografica o al settore.
Il numero di valori aggregati impliciti da un insieme di dati di input può diventare sorprendentemente grande. Se le dimensioni del cliente e del prodotto sono ciascuna in profondità sei "generazioni", allora 36 (6 × 6) valori aggregati sono influenzati da un singolo punto dati. Ne consegue che se tutti questi valori aggregati devono essere memorizzati, la quantità di spazio richiesta è proporzionale al prodotto della profondità di tutte le dimensioni di aggregazione. Per database di grandi dimensioni, ciò può far sì che i requisiti di archiviazione effettivi siano centinaia di volte le dimensioni dei dati da aggregare.
Dalla versione 7, Essbase ha supportato due "opzioni di archiviazione" che sfruttano la sparsità per ridurre al minimo la quantità di memoria fisica e lo spazio su disco necessari per rappresentare grandi spazi multidimensionali. Il brevetto di Essbase[6] descrive il metodo originale, che mirava a ridurre la quantità di memoria fisica richiesta senza aumentare il tempo necessario per cercare valori strettamente correlati. Con l'introduzione di opzioni di archiviazione alternative, i materiali di marketing hanno chiamato questa opzione di archiviazione a blocchi ( Essbase BSO ), in seguito denominata Essbase Analytics .
In breve, Essbase richiede allo sviluppatore di contrassegnare le dimensioni come "denso" o "sparse". Il sistema quindi organizza i dati per rappresentare l'ipercubo in "blocchi", in cui ogni blocco comprende un array multidimensionale costituito da dimensioni "dense" e lo spazio viene allocato per ogni potenziale cella in quel blocco. La sparsità viene sfruttata perché il sistema crea blocchi solo quando richiesto. Nell'esempio precedente, supponiamo che lo sviluppatore abbia definito "Account" e "Tempo" come "denso", e "Regione", "Cliente" e "Prodotto" come "sparso". Se ci sono, diciamo, 12.000 combinazioni di Regione, Cliente e Prodotto che contengono dati, allora verranno creati solo 12.000 blocchi, ognuno dei quali è abbastanza grande da contenere ogni possibile combinazione di Conti e Tempo. Il numero di celle memorizzate è quindi 192000 (4 × 4 × 12000), che richiede meno di 2 gigabyte di memoria (precisamente 1.536 MB), oltre spazio necessario alla creazione di un indice utilizzato per cercare i blocchi appropriati.
Poiché il database rende del tutto trasparente questa implementazione dagli strumenti front-end (ovvero, un report che tenta di recuperare dati da celle inesistenti vede semplicemente valori "null"), l'ipercubo completo può essere navigato in modo naturale ed è possibile caricare valori in qualsiasi cellula in modo interattivo.
Gli utenti possono specificare i calcoli in Essbase BSO come:
Il primo metodo (aggregazione dimensionale) avviene implicitamente contrassegnando i rami della gerarchia da sommare, sottrarre, moltiplicare, dividere o ignorare. Inoltre, il risultato di questa aggregazione può essere archiviato nel database o calcolato dinamicamente su richiesta: i membri devono essere contrassegnati come "Memorizzato" o "Calcolo dinamico". per specificare quale metodo deve essere utilizzato.
Il secondo metodo (calcoli memorizzati) utilizza una formula associata a ciascun membro della dimensione calcolato e quando Essbase calcola quel membro, il risultato viene archiviato sul membro stesso proprio come un valore di dati.
Il terzo metodo (calcolo dinamico) è specificato esattamente nello stesso formato del metodo precedente, ma calcola un risultato quando un utente accede a un valore indirizzato da quel membro; il sistema non memorizza tali valori calcolati.
Il quarto metodo (script di calcolo) utilizza un linguaggio di programmazione procedurale specifico per il motore di calcolo Essbase. Questo tipo di calcolo può agire su qualsiasi valore di dati nell'ipercubo e può quindi eseguire calcoli che non possono essere espressi come una semplice formula.
È inoltre necessario eseguire uno script di calcolo per attivare il calcolo di valori aggregati o calcoli memorizzati come descritto sopra: uno script di calcolo preimpostato (chiamato "calcolo predefinito") può essere utilizzato per eseguire questo tipo di calcolo.
Sebbene l'archiviazione a blocchi minimizzi efficacemente i requisiti di archiviazione senza influire sui tempi di recupero, presenta limitazioni nel trattamento dei dati aggregati in applicazioni di grandi dimensioni, motivando l'introduzione di un secondo motore di archiviazione, denominato Aggregate Storage Option ( Essbase ASO ) o, più recentemente, Enterprise Analytics . Questa opzione di archiviazione rende il database molto più simile a un database OLAP, come SQL Server Analysis Services.
A seguito di un caricamento di dati, Essbase ASO non memorizza alcun valore aggregato, ma li calcola su richiesta. Per i database di grandi dimensioni, dove il tempo necessario per generare questi valori può diventare scomodo, il database può materializzare una o più "viste" aggregate, costituite da un livello aggregato da ciascuna dimensione (ad esempio, il database può calcolare tutte le combinazioni della quinta generazione del prodotto con la terza generazione del cliente) e queste viste vengono quindi utilizzate per generare altri valori aggregati ove possibile. Questo processo può essere parzialmente automatizzato, in cui l'amministratore specifica la quantità di spazio su disco che può essere utilizzata e il database genera visualizzazioni in base all'utilizzo effettivo.
Questo approccio presenta un grave svantaggio in quanto il cubo non può essere trattato a fini di calcolo come un singolo ipercubo di grandi dimensioni, poiché i valori aggregati non possono essere controllati direttamente, pertanto la riscrittura dagli strumenti front-end è limitata e calcoli complessi sono possibili solo con espressioni MDX.
Essbase ASO può specificare calcoli come:
Il primo metodo (aggregazione dimensionale) sostanzialmente duplica l'algoritmo utilizzato da Essbase BSO.
Il secondo metodo (calcoli dinamici) valuta le espressioni MDX rispetto ai membri della dimensione.
La maggior parte degli utenti di Essbase lavora con i dati di Essbase tramite un componente aggiuntivo per Microsoft Excel (precedentemente anche Lotus 1-2-3 ) noto come Smart View. Il componente aggiuntivo Essbase è un plug-in standard per Microsoft Excel e crea un menu aggiuntivo che può essere utilizzato per connettersi ai database Essbase, recuperare o scrivere dati e navigare nelle dimensioni del cubo ("Zoom avanti", "Pivot", ecc. ).[7]
Nel 2005, Hyperion ha iniziato a offrire uno strumento di visualizzazione chiamato Hyperion Visual Explorer (HVE) che era un OEM di Tableau Software. Tableau Software è nato alla Università di Stanford come progetto di ricerca sponsorizzato dal governo per studiare nuovi modi in cui gli utenti possono interagire con database relazionali e OLAP . Hyperion e Tableau hanno costruito insieme fondamentalmente le prime versioni del software Tableau, progettato specificamente per i database multidimensionali (OLAP). Oracle ha rapidamente risolto l'accordo OEM con Tableau Software subito dopo l'acquisizione di Hyperion nel 2007.
La maggior parte degli altri noti fornitori di analisi fornisce applicazioni rivolte agli utenti con supporto per Essbase:
Le modalità precedenti di Hyperion hanno acquisito nuovi nomi come indicato di seguito:
Le modalità precedenti di Hyperion | Offerte Hyperion System 9 BI + |
---|---|
Hyperion Essbase ASO | Enterprise Analytics |
Hyperion Essbase BSO | Essbase Analytics |
Hyperion Analyzer | Web Analysis |
Hyperion Reports | Financial Reporting |
Hyperion Intelligence | Interactive Reporting |
Hyperion SQR | Production Reporting |
Hyperion Metrics Builder | Enterprise Metrics |
Le API sono disponibili per C, Visual Basic e Java e il supporto di script incorporato è disponibile per Perl . Il protocollo standardizzato XML for Analysis può eseguire query sulle origini dati Essbase utilizzando il linguaggio MDX.
Nel 2007, Oracle Corporation ha iniziato a raggruppare gli strumenti Hyperion BI in Oracle Business Intelligence Enterprise Edition Plus.
Numerose interfacce standard possono amministrare le applicazioni Essbase:
Dal 2017, Essbase Cloud è disponibile come parte di Oracle Analytics Cloud (OAC), una suite di soluzioni di analisi che include report e dashboard, visualizzazione dei dati, preparazione dei dati in linea e dispositivi mobili.[12]
Esistono diversi importanti concorrenti tra gli OLAP, i prodotti di analisi a quello di Essbase (HOLAP / MOLAP) sul mercato, tra cui SAP BPC, Microsoft SQL Server Microsoft Analysis Services, (MOLAP, HOLAP, ROLAP), IBM Cognos (ROLAP), IBM / Cognos / Applix TM1 (MOLAP), Oracle OLAP (ROLAP / MOLAP), MicroStrategy (ROLAP) ed EXASolution (ROLAP).
Si noti inoltre che tra i concorrenti di cui sopra, incluso Essbase, tutti utilizzano fonti dati relazionali (Microsoft SQL Server, Oracle, IBM DB / 2, TeraData, Access, ecc.) e non relazionali (Excel, file di testo, file CSV, ecc. .) per alimentare i cubi (fatti e dati dimensionali), ad eccezione di Oracle OLAP che può utilizzare solo la fonte dati relazionale Oracle.
A partire dal 2009 è possibile esportare i cubi Essbase in altri formati: