Creare cubi in modalità ibrida ottimizzati

Le utility di Ottimizza cubo Baseline, Cache di calcolo, Ordine di soluzione e Distribuzione dati facilitano la regolazione dei cubi e migliorano le prestazioni.

Creare cubi modalità ibrida ottimizzati utilizzando le quattro utility di Ottimizza cubo riportate di seguito.
Utility Dati restituiti
Baseline Metriche delle prestazioni del cubo
Ordine di soluzione Ordine di soluzione dei membri nel cubo
Cache di calcolo Dati che consentono di scegliere il valore ottimale della cache della calcolatrice per il cubo
Distribuzione dati Dati che consentono di scegliere le dimensioni da rendere sparse e quelle da rendere dense

Ottimizzare le metriche della baseline in un cubo in modalità ibrida

Le metriche monitorate dalla utility Baseline mostrano le prestazioni del sistema. Utilizzare queste metriche per determinare le prestazioni della utility Baseline e quindi per valutare i vantaggi delle successive ottimizzazioni che verranno effettuate.

Prima di utilizzare questa utility, è necessario creare una cartella di lavoro dell'applicazione, inclusi il profilo, le impostazioni di configurazione, gli script di calcolo e le query che si desidera includere nel cubo.

L'esecuzione della query determina la generazione del cubo, il caricamento dei file di dati selezionati, l'esecuzione degli script di calcolo e delle query contenute nella cartella di lavoro dell'applicazione. È importante disporre di un campione rappresentativo di query eseguite dagli utenti.

La utility Baseline crea un dashboard dei processi operativi e dell'applicazione, che possono risultare utili per la progettazione e l'ottimizzazione del cubo. Man mano che si implementano le modifiche e si genera di nuovo il cubo, l'utility Baseline consente di confrontare le iterazioni delle modifiche del cubo. Nella scheda Essbase.Stats.Baseline della cartella di lavoro dell'applicazione, la utility Baseline aggiunge le nuove tabelle con i dati più recenti di ciascuna iterazione.

Preparazione all'esecuzione della utility Baseline di Ottimizza cubo in un cubo in modalità ibrida

Prima di eseguire la utility Baseline, completare i task riportati di seguito.

  1. Progettare e creare la cartella di lavoro dell'applicazione.

    Per creare una cartella di lavoro dell'applicazione, è possibile scaricare una cartella di lavoro dell'applicazione di esempio, quindi modificarla in base alle esigenze. Vedere Esplorare i modelli della galleria.

  2. Cancellare i fogli di query nella cartella di lavoro dell'applicazione contenente i metadati di Smart View come indicato di seguito.
    1. Andare alla barra multifunzione di Smart View,
    2. Scegliere Informazioni foglio e fare clic su Elimina.

    Se i fogli di query includono metadati di un altro server, in Cube Designer viene visualizzata un'avvertenza e l'elaborazione viene sospesa fino a quando non si risponde.

  3. Modificare il foglio di lavoro Cube.Settings aggiungendo le impostazioni di Configurazione applicazione riportate di seguito.
    Impostazione Valore
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Eseguire la utility Baseline di Ottimizza cubo in un cubo in modalità ibrida

La utility Baseline identifica le dimensioni dense e sparse, la dimensione dei dati (dimensioni dei file PAG e IND), la dimensione del blocco e le dimensioni della cache di dati, dell'indice e della calcolatrice. Inoltre, fornisce metriche per il caricamento dei dati, i calcoli e le query.

Per eseguire l'utilità Baseline, effettuare le operazioni riportate di seguito.

  1. Dalla barra multifunzione di Cube Designer selezionare Task di amministrazione > Ottimizza cubo.
  2. (Facoltativo) Fare clic su Personalizza per scegliere le operazioni della baseline da eseguire.
    • Genera cubo: consente di generare il cubo definito nella cartella di lavoro dell'applicazione e caricare i dati nei fogli dati.
    • Esegui script di calcolo: consente di eseguire gli script di calcolo definiti in ciascun foglio di calcolo nella cartella di lavoro dell'applicazione.

      I fogli di lavoro di calcolo vengono eseguiti nell'ordine in cui appaiono nella cartella di lavoro dell'applicazione. Ottimizza cubo ignora la proprietà Esegui calcolo nei fogli di lavoro di calcolo.

      In Ottimizza cubo sono supportati solo gli script di calcolo che possono essere eseguiti dai job. Non è possibile eseguire gli script di calcolo che dipendono dal contesto corrente della griglia di Smart View (ad esempio, i calcoli definiti utilizzando la funzione @GRIDTUPLES o quelli che utilizzano le variabili di sostituzione in runtime, definite con le tag <svLaunch>).

    • Esegui query: consente di eseguire le query nei fogli corrispondenti.
    • Esporta tutto: consente di esportare tutti i dati del cubo nella directory del cubo. Una volta che il tempo di esportazione e la dimensione del file sono stati registrati, il file di esportazione viene eliminato automaticamente.
  3. Fare clic su Crea baseline.

    Se non si dispone di un foglio dati nella cartella di lavoro dell'applicazione, verrà chiesto di selezionare i file di dati e delle regole dal catalogo. È consigliabile memorizzare i file di dati e delle regole in una directory condivisa nel catalogo in modo che i file non andranno persi quando verrà generato di nuovo il cubo.

    La generazione del cubo richiederà del tempo.

    Il foglio Essbase.Stats.Baseline viene generato da Essbase e aggiunto alla cartella di lavoro.

  4. Visualizzare il foglio Essbase.Stats.Baseline nella cartella di lavoro dell'applicazione.
    • Nella prima tabella del foglio vengono visualizzati valori quali la dimensione dei file di caricamento dati, il numero delle celle di caricamento dati, la dimensione blocco e le dimensioni delle cache.
      Immagine della prima tabella nel foglio Essbase.Stats.Baseline, che mostra le metriche del database.

    • I colori nella tabella della baseline identificano il tipo di memorizzazione per ciascuna dimensione.
      • Verde: dimensione densa
      • Rosso: dimensione sparsa con almeno una formula dinamica
      • Blu: dimensione sparsa con aggregazioni e senza tutte le formule e tutti gli elementi padre dinamici
      • Oro: un'altra dimensione sparsa

      Immagine della seconda tabella nel foglio Essbase.Stats.Baseline, che mostra le dimensioni dense e sparse nonché i membri memorizzati e totali.

    • In Carica e calcola, le singole righe "Script:" indicano lo script di calcolo che richiede più tempo per essere completato e per il quale potrebbe quindi essere necessaria l'ottimizzazione.
      Immagine delle terza tabella nel foglio Essbase.Stats.Baseline, che mostra i tempi di caricamento e calcolo, i blocchi nonché le dimensioni di file di dati e di indice create.

    • Sotto Query, Blocchi letti viene visualizzata la quantità di dati richiesti dalla query.

      La quantità verrà ridotta modificando una dimensione dinamica in una dimensione memorizzata.

    • In Query, Formule viene visualizzato il numero di formule eseguite nella query.

      Per ridurre il numero di esecuzioni delle formule e migliorare le prestazioni, esaminare gli ordini di soluzione dei membri calcolati e apportare le modifiche oppure prendere in considerazione la possibilità di memorizzare un membro calcolato contenente formule.


      Immagine della quarta tabella nel foglio Essbase.Stats.Baseline, che mostra il tempo di query, i blocchi letti e le formule eseguite.

    • Nell'ultima tabella del foglio vengono visualizzati il tempo di esportazione e la dimensione del file.
      Immagine della quinta tabella nel foglio Essbase.Stats.Baseline, che mostra il tempo di esportazione e la dimensione del file.

Ottimizzare l'ordine di soluzione in un cubo in modalità ibrida

La utility Ordine di soluzione fornisce una rappresentazione visiva del flusso dell'ordine di soluzione utilizzato nell'applicazione. Questa utility consente di diagnosticare i problemi di prestazioni delle query relativi alle formule.

Per eseguire la utility Ordine di soluzione in Ottimizza cubo, effettuare le operazioni riportate di seguito.

  1. Dalla barra multifunzione di Cube Designer selezionare Task di amministrazione > Ottimizza cubo.
  2. Fare clic su Ordine di soluzione.
  3. Visualizzare il foglio Essbase.Stats.SolveOrder della cartella di lavoro dell'applicazione.

Utilizzare le informazioni contenute nel foglio Essbase.Stats.SolveOrder per adeguare l'ordine di soluzione e ottimizzare le prestazioni delle query. Vedere Ottimizzare il cubo per la modalità ibrida e Ordine di soluzione in modalità ibrida.

Ottimizzare la cache di calcolo in un cubo in modalità ibrida

Si consiglia di utilizzare la utility Cache di calcolo per scegliere l'impostazione ottimale della cache della calcolatrice per il cubo.

L'utilizzo dell'impostazione corretta della cache della calcolatrice può migliorare notevolmente le prestazioni durante il calcolo di intere dimensioni sparse in uno script di calcolo. Il calcolo di un'intera dimensione sparsa è una tecnica utilizzata per ridurre il numero di blocchi richiesti da una query.

Il valore predefinito della cache della calcolatrice è 200.000 byte. Il valore massimo è 20.000.000 byte.

Si consiglia di impostare la cache della calcolatrice su una dimensione sufficientemente grande per contenere le dimensioni sparse calcolate nello script di calcolo. L'impostazione della cache della calcolatrice su un valore maggiore di quello necessario influisce negativamente sulle prestazioni.

Per ottimizzare la cache della calcolatrice utilizzando la utility Cache di calcolo, effettuare le operazioni riportate di seguito.
  1. Per ridurre la quantità di dati richiesti dalla query, calcolare e memorizzare una o più dimensioni utilizzando uno script di calcolo.

    La dimensione più grande rappresenta generalmente la scelta migliore.

  2. Spostare questa dimensione in modo che sia la prima dimensione sparsa nel profilo.

    L'algoritmo della cache della calcolatrice seleziona le dimensioni sparse da inserire nella cache, a partire dalla prima dimensione sparsa.

  3. Generare il cubo senza caricare i dati.

    Affinché la utility Cache di calcolo funzioni, è necessario generare il cubo.

  4. Eseguire la utility Cache di calcolo.

    Nella utility viene visualizzata l'impostazione della cache corretta accanto a ciascuna dimensione fino a 20 MB. Oltre 20 MB, viene visualizzata l'indicazione N/D. In genere, le impostazioni superiori ad alcuni MB non sono necessarie.

    1. Dalla barra multifunzione di Cube Designer selezionare Task di amministrazione > Ottimizza cubo.
    2. Fare clic su Cache di calcolo.
    3. Visualizzare il foglio Essbase.Stats.CalcCache della cartella di lavoro dell'applicazione. È possibile visualizzare le impostazioni consigliate della cache della calcolatrice nella colonna Cache di calcolo del foglio di lavoro Essbase.Stats.CalcCache.
      Immagine del foglio Essbase.Stats.CalcCache in una cartella di lavoro dell'applicazione di tipo Ottimizza cubo.

  5. Individuare l'impostazione Cache di calcolo nel foglio Essbase.Stats.CalcCache, accanto a una o più dimensioni sparse calcolate e memorizzate nel passo 1.
  6. Se nel passo 1 è stata calcolata una dimensione, impostare il valore predefinito della cache della calcolatrice su tale valore. Se nel passo 1 sono state calcolate più dimensioni, scegliere il valore massimo della Cache di calcolo tra i valori calcolati.

    Aggiungere questo valore alla sezione Impostazioni applicazione del foglio di lavoro Cube.Settings In alternativa, è possibile impostare il valore nelle impostazioni di configurazione dell'applicazione nell'interfaccia Web di Essbase. È consigliabile eseguire l'arrotondamento per eccesso per consentire uno spazio maggiore.

Ottimizzare la distribuzione dei dati in un cubo in modalità ibrida

La utility Distribuzione dati consente di comprendere meglio i dati in un'applicazione, consentendo di prendere decisioni importanti su come ottimizzare il cubo.

Comprendere i dati consente di determinare quanto segue.
  • Le dimensioni da rendere dense e quelle da rendere sparse.

    Le dimensioni dense definiscono i blocchi in un'applicazione di memorizzazione a blocchi. Lo scenario ideale è quello in cui un blocco contiene dimensioni con il maggior numero di dati e rappresenta il layout di query predominante per tale applicazione. Per le applicazioni di generazione di report finanziari, questo scenario, in genere, implica che le dimensioni Tempo e Conto sia dense.

  • Le dimensioni da calcolare e memorizzare utilizzando uno script di calcolo.

    Il numero di blocchi richiesti dalla query è uno dei fattori che influisce sulle prestazioni delle query. Se il numero di blocchi richiesti è troppo elevato, le prestazioni delle query ne risentono. Per ridurre il numero di blocchi richiesti, calcolare preventivamente i membri di livello superiore di una o più dimensioni sparse. In primo luogo, impostare l'attributo di memorizzazione della dimensione dei membri di livello superiore su un attributo memorizzato (Memorizza o Non condividere), quindi eseguire uno script di calcolo che aggrega tale dimensione utilizzando CALC DIM o AGG.

  • Le dimensioni da utilizzare come dimensioni task nel comando FIXPARALLEL.

    Per ottimizzare lo script di calcolo utilizzato per aggregare le dimensioni sparse memorizzate, utilizzare il comando FIXPARALLEL. È importante selezionare le dimensioni task corrette. Una dimensione task determina il modo in cui il calcolo viene suddiviso in thread ed eseguito in parallelo. È consigliabile che una o più dimensioni sparse contengano la maggior parte dei dati in modo da ridurre i task vuoti e, idealmente, tali dati dovrebbero essere distribuiti in modo uniforme.

Per eseguire la utility Distribuzione dati, effettuare le operazioni riportate di seguito.
  1. Dalla barra multifunzione di Cube Designer selezionare Task di amministrazione > Ottimizza cubo.
  2. Selezionare Distribuzione dati.

    L'esecuzione di questo processo può richiedere molto tempo, in particolare nei modelli più grandi.

  3. Visualizzare il foglio di lavoro Essbase.Stats.DataDist.

Immagine della scheda Essbase.Stats.DataDist in una cartella di lavoro di ottimizzazione cubo che mostra le statistiche di distribuzione dei dati.


Immagine della scheda Essbase.Stats.DataDist in una cartella di lavoro di ottimizzazione cubo che mostra i blocchi e le celle per blocco.