Progettazione per prestazioni calcolo
Per ottimizzare le prestazioni di calcolo per un cubo di memorizzazione a blocchi Essbase, considerare l'impatto della dimensione e della densità del blocco di dati, l'efficienza delle formule e degli script di calcolo e i modi in cui è possibile ottimizzare le caratteristiche del profilo, ad esempio l'ordine delle dimensioni sparse, l'uso dei livelli e la dimensione Tempo.
È possibile configurare un database per ottimizzare le prestazioni di calcolo.
La configurazione migliore per il sito dipende dalla natura e dalle dimensioni del database. Utilizzare le informazioni negli argomenti riportati di seguito solo come linee guida.
Dimensione blocco e densità blocco
Affinché i cubi di memorizzazione a blocchi di Essbase abbiano prestazioni di calcolo ottimali, scoprire in che modo la dimensione del blocco di dati e la densità del blocco possono influire sulle prestazioni e sulla memorizzazione. Esaminare le statistiche dei blocchi utilizzando l'interfaccia Web Essbase o MaxL.
Un blocco di dati di dimensioni comprese tra 8 Kb e 100 Kb fornisce prestazioni ottimali nella maggior parte dei casi.
Se i blocchi di dati sono molto più piccoli di 8 KB, l'indice è in genere molto grande, costringendo Essbase a scrivere e recuperare l'indice dal disco. Questo processo rallenta il calcolo.
Se i blocchi di dati sono molto più grandi di 100 KB, il calcolo intelligente non funziona in modo efficace. Fare riferimento alla sezione Calcolo intelligente per cubi di storage a blocchi.
Per ottimizzare le prestazioni di calcolo e l'archiviazione dei dati, potrebbe essere necessario equilibrare la densità dei blocchi di dati e le dimensioni dei blocchi di dati ridisponendo la configurazione della dimensione densa e sparsa del database. Tenete a mente questi suggerimenti:
-
Mantenere la dimensione del blocco di dati compresa tra 8 KB e 100 KB con la massima densità di blocco possibile.
-
Eseguire i calcoli di test delle configurazioni più promettenti di un cubo contenente dati rappresentativi. Controllare i risultati per determinare la configurazione che produce le migliori prestazioni di calcolo.
-
Considerare la possibilità di utilizzare la modalità ibrida. In un cubo modalità ibrida è possibile personalizzare facilmente l'ordine di soluzione anziché riorganizzare l'ordine dimensionale.
Visualizzare le informazioni su un cubo, incluso il numero potenziale ed effettivo di blocchi di dati e la dimensione del blocco di dati, utilizzando l'interfaccia Web Essbase o MaxL.

L'istruzione equivalente per la visualizzazione delle statistiche dei blocchi mediante MaxL è la seguente:
query database appname.dbname get dbstats data_block;Ordine delle dimensioni sparse
Nei cubi di memorizzazione a blocchi Essbase, è possibile migliorare le prestazioni di calcolo posizionando prima dimensioni sparse più piccole nell'ordine del profilo.
In alternativa, provare a usare la modalità ibrida. In un cubo modalità ibrida è possibile personalizzare facilmente l'ordine di soluzione anziché riorganizzare l'ordine dimensionale.
È possibile migliorare le prestazioni di calcolo modificando l'ordine delle dimensioni sparse standard (non attributo) nel profilo. Ordina le dimensioni sparse standard in base al numero di membri che contengono, posizionando prima la dimensione che contiene il minor numero di membri. Questo accordo può migliorare:
-
La funzione della cache della calcolatrice può avere un miglioramento delle prestazioni di circa il 10% per un profilo con una grande dimensione (ad esempio, uno contenente 1000 membri).
-
Il calcolo parallelo, se abilitato, verrà utilizzato con maggiore probabilità se la dimensione sparsa standard con il maggior numero di membri è l'ultima dimensione sparsa standard nel profilo.
Cubi caricati incrementalmente
Per i cubi di memorizzazione a blocchi Essbase caricati in modo incrementale (periodico) con i dati, le prestazioni di calcolo possono essere migliorate rendendo la dimensione Tempo sparsa nel profilo.
Molte aziende caricano i dati in modo incrementale. Ad esempio, un'azienda può caricare i dati ogni mese per quel mese.
Per ottimizzare le prestazioni di calcolo quando si caricano i dati in modo incrementale, impostare la dimensione contrassegnata come tempo come dimensione sparsa. Se la dimensione tempo è sparsa, il database contiene un blocco di dati per ogni periodo di tempo. Quando si caricano i dati per periodo di tempo, Essbase accede a un numero inferiore di blocchi di dati perché un numero inferiore di blocchi contiene il periodo di tempo pertinente. Pertanto, se l'opzione Calcolo intelligente è abilitata, vengono ricalcolati solo i blocchi di dati contrassegnati come modificati. Ad esempio, se si caricano i dati per marzo, vengono aggiornati solo i blocchi di dati per marzo e i padri dipendenti di marzo.
Tuttavia, rendere la dimensione temporale sparsa quando è naturalmente densa può aumentare in modo significativo la dimensione dell'indice, creando prestazioni probabilmente più lente a causa di una maggiore attività di I/O fisica per ospitare l'indice di grandi dimensioni.
Se la dimensione contrassegnata come tempo è densa, si ottiene comunque un vantaggio da Calcolo intelligente quando si esegue un caricamento parziale dei dati per una dimensione sparsa. Ad esempio, se Prodotto è sparso e si caricano dati per un prodotto, Essbase ricalcola solo i blocchi interessati dal caricamento parziale, anche se il tempo è denso e l'opzione Calcolo intelligente è abilitata.
Contorni con dimensioni piatte multiple
Per i cubi di memorizzazione a blocchi Essbase con migliaia di membri in dimensioni flat, è possibile migliorare le prestazioni di calcolo aggiungendo livelli nel profilo.
Le prestazioni del calcolo possono essere interessate se un profilo cubo ha più dimensioni piatte. Una dimensione piatta ha pochissimi genitori, e ogni genitore ha molte migliaia di figli; in altre parole, le dimensioni piatte hanno molti membri e pochi livelli.
È possibile migliorare le prestazioni dei contorni con più dimensioni piatte aggiungendo livelli intermedi alla struttura.
Formule e script di calcolo
Per ottimizzare gli script di calcolo e le formule per i cubi di memorizzazione a blocchi, eseguire le operazioni necessarie per ridurre il numero di cicli eseguiti da Essbase tramite i blocchi di dati.
È possibile ottenere miglioramenti significativi nelle prestazioni di calcolo raggruppando accuratamente formule e dimensioni in uno script di calcolo. In questo modo, è possibile assicurarsi che Essbase esegua il ciclo dei blocchi di dati nel cubo il minor numero di volte possibile durante un calcolo.
Ordinare comandi negli script di calcolo per rendere il calcolo del database il più semplice possibile. Prendere in considerazione l'applicazione di tutte le formule al profilo e l'utilizzo di un calcolo predefinito (CALC ALL).
Vedere Sviluppo di script di calcolo per i cubi di memorizzazione a blocchi e Passi di calcolo.