Senza la modalità ibrida, per l'algoritmo di memorizzazione a blocchi per i membri di calcolo dinamico esistono limitazioni quando viene utilizzato con grandi dimensioni sparse. Le modalità ibrida e la memorizzazione di aggregazione sono più ottimizzate per l'analisi delle dipendenze dinamiche. Conoscere le differenze chiave facilita la scelta del tipo di processore di query più adatto per un'applicazione Essbase .
In assenza della modalità ibrida, è necessario memorizzare le grandi dimensioni sparse nei database di memorizzazione a blocchi. Renderli dinamici comporterebbe una quantità eccessiva di I/O dei blocchi al momento di query o calcoli, con conseguenze negative sulle prestazioni. Dimensioni sparse estremamente grandi possono determinare tempi di aggregazione batch molto lunghi, nonché dimensioni di database elevate che crescono rispetto al numero e alla grandezza delle dimensioni sparse. Anche in presenza di tali svantaggi, la memorizzazione a blocchi viene ampiamente utilizzata per le potenti funzionalità.
La memorizzazione di aggregazione è stata progettata in modo specifico per abilitare database estesi con dimensioni che aumentano per quantità e numero. A differenza della memorizzazione a blocchi, non richiede una pre-aggregazione delle grandi dimensioni sparse per ottenere buone prestazioni delle query. Il segreto è il kernel del database di memorizzazione di aggregazione, che facilita la rapida aggregazione dinamica in ogni dimensionalità estesa.
Nonostante tutti i vantaggi offerti dalla memorizzazione di aggregazione, tuttavia esistono molti usi più adatti alla memorizzazione a blocchi, ad esempio la possibilità di caricare dati a qualsiasi granularità o di eseguire spesso allocazioni batch complesse oppure di implementare la conversione della valuta per i dati finanziari globali. In questi casi, e in numerosi altri, la soluzione potrebbe essere la modalità ibrida. La modalità ibrida è una combinazione delle funzioni più efficaci della memorizzazione a blocchi e di quella di aggregazione. Nella modalità ibrida, Essbase
Favorisce una flessibilità completa a livello di calcolo procedurale, anche quando i calcoli dipendono da aggregazioni dinamiche sparse.
Utilizza il motore ibrido per le query che accedono ai membri dinamici con sparsità. Per la piccola percentuale di query che non è possibile elaborare in questo modo, Essbase utilizza il flusso di calcoli della memorizzazione a blocchi per soddisfare la richiesta.
Offre questi vantaggi, se si contrassegnano i membri con sparsità come dinamici:
Migliora le prestazioni a livello di ristrutturazione
Migliora le prestazioni di backup
Riduce i requisiti di spazio su disco
Poiché la modalità ibrida prevede calcoli dinamici, è possibile gestire i calcoli in sequenza utilizzando un ordine di soluzione.
Nota:
I calcoli ibridi, indipendentemente dal fatto che siano basati su query o script di calcolo, vengono eseguiti nello spazio di memoria temporaneo, utilizzando una cache delle formule e la cache di memorizzazione di aggregazione.
Differenze chiave
Le differenze chiave riportate di seguito consentono di scegliere il tipo di processore di query più adatto per l'applicazione.
Requisito | Memorizzazione di aggregazione (ASO) | Memorizzazione a blocchi (BSO) | Modalità ibrida |
---|---|---|---|
Ottimizzazione per l'aggregazione rapida tra numerose dimensioni sparse |
Sì |
No |
Sì |
Ottimizzazione per un uso limitato dello spazio su disco e un tempo di backup ridotto |
Sì |
No |
Sì |
Ottimizzazione per le applicazioni finanziarie |
No |
Sì |
Sì |
Possibilità di eseguire allocazioni |
Sì |
Sì |
Sì |
Possibilità di eseguire calcoli batch |
No |
Sì |
Sì |
Supporto delle formule membro |
Sì, espressa come MDX |
Sì, espressa sotto forma di Funzioni di calcolo Essbase |
Sì, espressa sotto forma di Essbase Funzioni di calcolo |
Ottimizzazione per i riferimenti in avanti nelle formule membro |
No |
No |
Sì |
Possibilità di personalizzare l'ordine di risoluzione di calcoli/aggregazioni |
Sì |
No |
Sì |
Possibilità di specificare l'esecuzione delle query bottom-up per l'analisi delle dipendenze più rapide dei data set di input più piccoli |
No |
No |
Sì |
Possibilità di tracciare ed eseguire il debug dell'esecuzione delle query |
Sì |
No |
Sì |
Possibilità di limitare l'uso della memoria consentito per una query |
Sì |
No |
Sì |
Supporto per il calcolo a due passaggi |
No |
Sì |
No |
Possibilità di caricare i dati a qualsiasi livello |
No, è possibile caricare solo le celle di livello 0 senza dipendenze formula |
Sì |
Sì per i livelli memorizzati No per i livelli dinamici |
Possibilità di caricare i dati in modo incrementale utilizzando i buffer |
Sì |
No |
No |
La valutazione delle formule su dimensioni sparse può avere risultati diversi da quella delle stesse formule su dimensioni dense |
N/A |
Sì. Nella memorizzazione a blocchi senza modalità ibrida, gli script di calcolo Essbase possono essere scritti in modo iterativo allo scopo di risolvere le dipendenze sui blocchi sparsi. Se si modifica il tipo di dimensione da sparsa a densa o viceversa, si potrebbero ottenere risultati diversi per le stesse formule. |
No. Le dipendenze formula vengono calcolate allo stesso modo a prescindere dalla sparsità o dalla densità. In modalità ibrida, Essbase utilizza un algoritmo per risolvere le dipendenze dinamiche. In alcuni casi, i dati derivati da uno script di calcolo possono essere diversi in modalità ibrida rispetto a quelli in modalità di memorizzazione a blocchi senza ibrido. |