Confronto tra modalità ibrida, memorizzazione a blocchi e memorizzazione di aggregazione

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:

    • Elimina la necessità di pre-aggregazione
    • 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

No

Ottimizzazione per un uso limitato dello spazio su disco e un tempo di backup ridotto

No

Ottimizzazione per le applicazioni finanziarie

No

Possibilità di eseguire allocazioni

Possibilità di eseguire calcoli batch

No

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

Possibilità di personalizzare l'ordine di risoluzione di calcoli/aggregazioni

No

Ordine di soluzione in modalità ibrida

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

Impostazione di configurazione QUERYBOTTOMUP

Funzione di calcolo @QUERYBOTTOMUP

Possibilità di tracciare ed eseguire il debug dell'esecuzione delle query

QUERYTRACE

No

QUERYTRACE

Possibilità di limitare l'uso della memoria consentito per una query

MAXFORMULACACHESIZE

No

MAXFORMULACACHESIZE

Supporto per il calcolo a due passaggi

No

No

Possibilità di caricare i dati a qualsiasi livello

No, è possibile caricare solo le celle di livello 0 senza dipendenze formula

Sì per i livelli memorizzati

No per i livelli dinamici

Possibilità di caricare i dati in modo incrementale utilizzando i buffer

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.