Crearea de cuburi optimizate în modul Hibrid

Utilitarele de optimizare a cuburilor, cum ar fi Bază de optimizare cub, Memorie cache pt. calcul, Ordine de rezolvare şi Distribuţie date, vă ajută să optimizaţi cuburile pentru o performanţă mai bună.

Creaţi cuburi modul Hibrid optimizate cu ajutorul acestor patru utilitare pt. optimizarea cuburilor:
Utilitar Date returnate
Bază de optimizare cub Metrici de performanţă pentru cub
Ordine de rezolvare Ordinea de rezolvare pt. membrii din cub
Memorie cache pt. calcul Date care vă ajută să alegeţi cea mai bună valoare pt. memoria cache de calcul pt. cub
Distribuţie date Date care vă ajută să alegeţi dimensiunile pe care să le faceţi dispersate şi cele pe care să le faceţi dense

Optimizarea metricilor de bază pentru un cub în modul Hibrid

Metricele urmărite de utilitarul Bază de optimizare cub arată performanţa sistemului. Utilizaţi aceste metrice pt. a stabili performanţa de bază şi apoi pt. a măsura beneficiile optimizărilor ulterioare pe care le faceţi.

Înainte de a utiliza acest utilitar, mai întâi creaţi un registru de lucru al aplicaţiei, inclusiv structura, setările de configuraţie, script-urile de calcul şi interogările pe care doriţi să le includeţi în cub.

Atunci când rulaţi utilitarul, acesta generează cubul, încarcă fişierele de date selectate, execută script-urile de calcul selectate şi rulează interogările din registrul de lucru al aplicaţiei. Este important să aveţi un eşantion reprezentativ cu interogări de la utilizatorii dvs.

Utilitarul Bază de optimizare cub creează un dashboard cu aplicaţia şi procesele operaţionale, care vă pot ajuta să proiectaţi şi să optimizaţi cubul. Pe măsură ce implementaţi modificările şi re-generaţi cubul, utilitarul de bază vă ajută să comparaţi iteraţiile de modificări ale cubului. Pe fila Essbase.Stats.Baseline din registrul de lucru al aplicaţiei, utilitarul Bază de optimizare cub adaugă tabele noi cu cele mai recente date pt. fiecare iteraţie.

Pregătirea pentru rularea utilitarului Bază de optimizare cub pe un cub în modul Hibrid

Finalizaţi aceste sarcini înainte de a rula utilitarul Bază de optimizare cub:

  1. Proiectaţi şi creaţi-vă registrul de lucru al aplicaţiei.

    Pt. a crea un registru de lucru al aplicaţiei, puteţi descărca un registru de lucru eşantion de aplicaţie şi apoi îl puteţi modifica pt. a se potrivi nevoilor dvs. Consultaţi Explorarea şabloanelor de galerii.

  2. Goliţi foile de interogare din registrul de lucru al aplicaţiei de metadatele Smart View:
    1. Accesaţi panglica Smart View.
    2. Selectaţi Info foaie şi faceţi clic pe Ştergere.

    În cazul în care foile de interogare au metadate dintr-un server diferit, Cube Designer afişează un avertisment şi pune procesarea în pauză până când răspundeţi.

  3. Modificaţi foaia de lucru Cube.Settings cu următoarele setări de Configurare aplicaţie:
    Setare Valoare
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Rularea utilitarului Bază de optimizare cub pe un cub în modul Hibrid

Utilitarul Bază de optimizare cub identifică dimensiunile dense şi dispersate, dimensiunea datelor (dimensiuni de fişiere PAG şi IND), dimensiunea blocului, precum şi dimensiunile memoriei cache pt. date, index şi calculator. În plus, oferă metrice pt. încărcarea de date, calcul şi interogare.

Pt. a rula utilitarul Bază de optimizare cub:

  1. Din panglica Cube Designer, selectaţi Sarcini de administrare > Optimizare Cub.
  2. (Opţional) Faceţi clic pe Personalizare pt. a selecta operaţiile de bază de rulat.
    • Generare cub - Generaţi cubul definit în registrul de lucru al aplicaţiei şi încărcaţi datele în foile de date.
    • Rulare script-uri de calcul - Rulaţi script-urile de calcul definite în fiecare dintre foile de calcul din registrul de lucru al aplicaţiei.

      Foile de lucru de calcul rulează în ordinea în care apar în registrul de lucru al aplicaţiei. Optimizare cub ignoră proprietatea Executare Calcul de pe foile de calcul.

      Doar script-urile de calcul care pot fi rulate din Joburi sunt suportate pt. Optimizare cub. NU puteţi rula script-uri de calcul care depind de contextul grilă Smart View curent (de exemplu, calcule definite cu ajutorul funcţiei @GRIDTUPLES sau cele care utilizează variabile de substituţie la runtime definite cu <svLaunch> taguri).

    • Rulare interogări - Rulaţi interogările pe foile Interogare.
    • Exportare toate - Exportaţi toate datele din cub în directorul cubului. După înregistrarea orei şi a dimensiunii fişierului, fişierul de export este şters automat.
  3. Faceţi clic pe Creare bază.

    Dacă nu aveţi o foaie de date în registrul de lucru al aplicaţiei, vi se va solicita să selectaţi fişiere de date şi de reguli din catalog. Este bine să stocaţi fişierele de date şi de reguli într-un director partajat în catalog, astfel încât fişierele să nu se piardă atunci când reconstruiţi cubul.

    Construcţia cubului va lua un timp.

    Essbase generează foaia Essbase.Stats.Baseline şi o adaugă la registrul de lucru.

  4. Vizualizaţi foaia Essbase.Stats.Baseline în registrul de lucru al aplicaţiei.
    • Primul tabel din foaie afişează dimensiunea fişierelor de încărcare a datelor, numărul de celule de încărcare a datelor, dimensiunea blocului, şi dimensiunile memoriei cache.
      Imaginea primului tabel din foaia Essbase.Stats.Baseline, afişând metricile de baze de date.

    • Culorile din tabelul de bază identifică tipul de stocare pt. fiecare dimensiune:
      • Verde - dimensiune densă
      • Roşu - dimensiune dispersată cu cel puţin o formulă dinamică
      • Albastru - dimensiune dispersată cu agregări şi fără toţi părinţii şi formulele dinamice
      • Auriu - altă dimensiune dispersată

      Imaginea celui de al doilea tabel din foaia Essbase.Stats.Baseline, afişând dimensiunile dense şi dispersate, numărul de membri total şi stocaţi.

    • Sub Încărcare şi calcul, fiecare rând “Script:” identifică script-ul de calcul care ia cel mai mult să se finalizeze şi care ar putea avea astfel nevoie de optimizare.
      Imaginea celui de al treilea tabel din foaia Essbase.Stats.Baseline, afişând duratele de încărcare şi calculare, blocurile, dimensiunile fişierelor de date şi index create.

    • Sub Interogare, Citire blocuri, se afişează volumul de date cerut de interogare.

      Modificarea unei dimensiuni din dinamică în stocată reduce acest volum.

    • Sub Interogări, Formule, se afişează numărul de formule executate în interogare.

      Verificaţi ordinile de rezolvare ale membrilor calculaţi şi efectuaţi modificări pt. a reduce numărul de execuţii ale formulelor şi pt. a îmbunătăţi performanţa, sau luaţi în calcul stocarea unui membru calculat care conţine formule, pt. a reduce numărul de execuţii ale formulelor şi pt. a îmbunătăţi performanţa.


      Imaginea celui de al patrulea tabel din foaia Essbase.Stats.Baseline, afişând duratele de interogare, blocurile citite şi formulele executate.

    • Ultimul tabel din foaie afişează durata de export şi dimensiunea fişierului.
      Imaginea celui de al cincilea tabel din foaia Essbase.Stats.Baseline, afişând durata de export şi dimensiunea fişierului.

Optimizarea ordinii de rezolvare pentru un cub în modul Hibrid

Utilitarul Ordine de Rezolvare vă oferă o reprezentare grafică a fluxului de ordine de rezolvare utilizat în aplicaţie. Acest lucru poate ajuta la diagnosticarea problemelor de performanţă a interogării legate de formule.

Pt. a rula utilitarul Optimizare ordine de rezolvare cub:

  1. Din panglica Cube Designer, selectaţi Sarcini de administrare > Optimizare Cub.
  2. Faceţi clic pe Ordine de rezolvare.
  3. Vizualizaţi foaia Essbase.Stats.SolveOrder din registrul de lucru al aplicaţiei.

Utilizaţi informaţiile din foaia Essbase.Stats.SolveOrder pt. a ajusta ordina de rezolvare pt. a optimiza performanţa interogării. Consultaţi Optimizarea cubului pt. modul Hibrid şi Ordinea de rezolvare în modul Hibrid.

Optimizarea memoriei cache pentru calculul unui cub în modul Hibrid

Utilitarul Calc Cache recomandă setarea optimă de memorie cache a calculatorului pt. cub.

Utilizarea setării corecte de memorie cache a calculatorului poate fi o îmbunătăţire importantă de performanţă atunci când se calculează dimensiuni dispersate complete într-un script de calcul. Calcularea unei întregi dimensiuni dispersate este o tehnică de reducere a numărului de blocuri cerute de o interogare.

Valoarea prestabilită a memoriei cache a calculatorului este de 200.000 de bytes. Valoarea maximă este de 20.000.000 de bytes.

Memoria cache a calculatorului ar trebui setată astfel încât să fie suficient de mare pentru a conţine dimensiunile dispersate calculate în script-ul de calcul. Setarea memoriei cache a calculatorului la o valoare mai mare decât este nevoie poate avea un impact negativ asupra performanţei.

Pt. a optimiza memoria cache a calculatorului cu ajutorul utilitarului Calc Cache:
  1. Pt. a reduce numărul de date solicitate de interogare, calculaţi şi stocaţi una sau mai multe dimensiuni, cu ajutorul unui script de calcul

    Cea mai bună alegere este de obicei dimensiunea cea mai mare.

  2. Mutaţi dimensiunea respectivă, astfel încât să fie prima dimensiune dispersată din structură.

    Algoritmul memoriei cache a calculatorului selectează dimensiunile dispersate de plasat în memoria cache, începând cu prima dimensiune dispersată.

  3. Generaţi cubul fără a încărca date.

    Pentru ca utilitarul Calc Cache să funcţioneze, cubul trebuie să fie generat.

  4. Rulaţi utilitarul Calc Cache.

    Utilitarul afişează setarea de memorie cache corectă lângă fiecare dimensiune de până la 20 MB. Peste 20 MB, afişează N/A. În general, nu sunt necesare setări mai mari de câţiva MB.

    1. Din panglica Cube Designer, selectaţi Sarcini de administrare > Optimizare cub.
    2. Faceţi clic pe Calc Cache.
    3. Vizualizaţi foaia Essbase.Stats.CalcCache din registrul de lucru al aplicaţiei. Puteţi vedea setările recomandate pt. memoria cache a calculatorului în registrul de lucru Essbase.Stats.CalcCache, în coloana Calc Cache.
      Imaginea foii Essbase.Stats.CalcCache într-un registru de lucru al aplicaţiei de tipul optimizare cub.

  5. Găsiţi setarea Calc Cache din foaia Essbase.Stats.CalcCache, alături de dimensiunea/dimensiunile calculate şi stocate la pasul 1.
  6. Dacă aţi calculat o dimensiune la pasul 1, setaţi valoarea prestabilită a memoriei cache a calculatorului la valoarea respectivă. Dacă aţi calculat mai mult decât o dimensiune la pasul 1, alegeţi cea mai mare valoare Calc Cache dintre valorile pe care le-aţi calculat.

    Adăugaţi această valoare la secţiunea Setări aplicaţie din registrul de lucru Cube.Settings. În mod alternativ, puteţi seta valoarea în setările de configuraţie ale aplicaţiei din interfaţa web Essbase. Este bine să rotunjiţi în sus, pentru a permite un pic mai mult loc de manevră.

Optimizarea distribuţiei datelor pentru un cub în modul Hibrid

Utilitarul de distribuţie a datelor vă ajută să înţelegeţi mai bine datele dintr-o aplicaţie, ceea ce vă permite să luaţi decizi importante legate de modul în care să vă optimizaţi cubul.

Înţelegerea datelor vă ajută să stabiliţi următoarele lucruri:
  • Pe care dintre dimensiuni să le faceţi dense şi pe care dispersate.

    Dimensiunile dense definesc blocurile dintr-o aplicaţie de stocare de blocuri. În mod ideal, un bloc ar trebui să conţină dimensiunile cu cele mai multe date şi să reprezinte macheta de interogare predominantă pt. aplicaţia respectivă. Pt. aplicaţiile de raportare financiară, acest lucru înseamnă de obicei că dimensiunile Timp şi Cont trebuie să fie dense.

  • Aplicaţiile care trebuie calculate şi stocate cu ajutorul unui script de calcul.

    Unul dintre factorii care afectează performanţa unei interogări este numărul de blocuri solicitate de către interogare. Dacă numărul de blocuri solicitate este prea mare, performanţa interogării are de suferit. Pt. a reduce numărul de blocuri solicitate, pre-calculaţi membrii de nivel superior din una sau mai multe dimensiuni dispersate. În primul rând, setaţi atributul de stocare al dimensiunii pt. membrii de nivel superior la un atribut stocat (Stocare sau Niciodată partajat), apoi rulaţi un script de calcul care agregă dimensiunea respectivă, utilizând fie CALC DIM, fie AGG.

  • Ce dimensiuni să utilizaţi ca dimensiunea sarcinii în comanda FIXPARALLEL.

    Pt. a optimiza scriptul de calcul utilizat pt. agregarea dimensiunilor dispersate stocate, utilizaţi comanda FIXPARALLEL. Este important să selectaţi dimensiunile corecte de sarcini. O dimensiune a sarcinii este una care stabileşte modul în care calculul se împarte în fire şi se execută în paralel. Una sau mai multe dimensiuni dispersate ar trebui să conţină cele mai multe date pentru a reduce sarcinile goale şi, în mod ideal, aceste date ar trebui să fie distribuite în mod uniform.

Pt. a rula utilitarul Distribuţie date:
  1. Din panglica Cube Designer, selectaţi Sarcini de administrare > Optimizare Cub.
  2. Selectaţi Distribuţie date.

    Rularea acestui proces poate lua un timp îndelungat, în special la modelele mai mari.

  3. Vizualizaţi registrul de lucru Essbase.Stats.DataDist.

Imagine a filei Essbase.Stats.DataDist într-un registru de lucru de optimizare a cubului, ce afişează statisticile de distribuţie a datelor.


Imagine a filei Essbase.Stats.DataDist într-un registru de lucru de optimizare a cubului, ce afişează blocurile şi celulele per bloc.