Geoptimaliseerde kubussen in hybride modus maken

Met de hulpprogramma's van 'Kubus optimaliseren' ('Basis', 'Rekenfunctiecache', 'Oplossingsvolgorde' en 'Gegevensdistributie') kunt u uw kubussen nauwkeurig afstemmen voor betere prestaties.

Maak geoptimaliseerde hybride modus kubussen met de volgende vier hulpprogramma's:
Hulpprogramma Geretourneerde gegevens
Basis Performancemetrieken van de kubus
Oplossingsvolgorde Oplossingsvolgorde van de onderdelen in de kubus
Rekenfunctiecache Gegevens met behulp waarvan u de beste waarde kunt kiezen voor de rekenfunctiecache voor de kubus
Gegevensdistributie Gegevens met behulp waarvan u kunt bepalen welke dimensies dicht en welke schaars moeten worden gemaakt

Basismetrieken optimaliseren voor een kubus in hybride modus

Uit de metrics die met het hulpprogramma 'Basis' worden bijgehouden, blijkt hoe het systeem presteert. Gebruik deze metrics om de prestaties van de basis te bepalen en vervolgens de voordelen te meten van optimalisaties die u doorvoert.

Voordat u dit hulpprogramma gebruikt, maakt u eerst een applicatiewerkboek met de structuur, configuratie-instellingen, rekenscripts en query's die u in de kubus wilt opnemen.

Wanneer u het hulpprogramma uitvoert, wordt de kubus opgebouwd, worden de geselecteerde gegevensbestanden geladen, worden de geselecteerde rekenscripts uitgevoerd en worden de query's uitgevoerd die in het applicatiewerkboek zijn opgenomen. Het is belangrijk om te beschikken over een representatief voorbeeld van query's van uw gebruikers.

Met het hulpprogramma 'Basis' wordt een dashboard van de applicatie en van operationele processen gemaakt. Dit kan handig zijn bij het ontwerpen en optimaliseren van de kubus. Bij het implementeren van wijzigingen en het opnieuw opbouwen van de kubus is de basis een handig hulpmiddel om iteraties van kubuswijzigingen te vergelijken. Op het tabblad Essbase.Stats.Baseline van het applicatiewerkboek worden door het hulpprogramma 'Basis' nieuwe tabellen toegevoegd met de nieuwste gegevens voor elke iteratie.

Het hulpprogramma 'Kubus optimaliseren: Basis' uitvoeren op een kubus in hybride modus

Voltooi de volgende taken voordat u het hulpprogramma 'Basis' uitvoert:

  1. Ontwerp en maak het applicatiewerkboek.

    Als u een applicatiewerkboek wilt maken, kunt u een voorbeeld van een applicatiewerkboek downloaden en dit naar wens wijzigen. Zie voor meer informatie: De galerijsjablonen verkennen.

  2. Wis de Smart View metagegevens uit de querybladen in het applicatiewerkboek:
    1. Ga naar het Smart View lint.
    2. Klik op Bladinfo en vervolgens op Verwijderen.

    Als de querybladen metagegevens van een andere server bevatten, wordt in Cube Designer een waarschuwing weergegeven en wordt de verwerking stopgezet totdat u reageert.

  3. Wijzig het werkblad Cube.Settings met de volgende instellingen voor Applicatieconfiguratie:
    Instelling Waarde
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Het hulpprogramma 'Kubus optimaliseren: Basis' uitvoeren op een kubus in hybride modus.

Met het hulpprogramma 'Basis' worden dichte dimensies en schaarsheiddimensies geïdentificeerd, evenals gegevensgrootte (grootte van PAG- en IND-bestanden), blokgrootte en grootte van de gegevens-, index- en rekenfunctiecache. Ook worden metrics beschikbaar gesteld voor het laden van gegevens, de berekening en de query.

Ga als volgt te werk om het hulpprogramma 'Basis' uit te voeren:

  1. Selecteer Beheertaken> Kubus optimaliseren op het lint van Cube Designer.
  2. (Optioneel) Klik op Aanpassen om de basisbewerkingen te selecteren die u wilt uitvoeren.
    • Kubus opbouwen: hiermee wordt de kubus opgebouwd die in het applicatiewerkboek is gedefinieerd, en worden de gegevens in de gegevensbladen geladen.
    • Rekenscripts uitvoeren: hiermee worden de rekenscripts uitgevoerd die in elk van de berekeningsbladen in het applicatiewerkboek zijn gedefinieerd.

      Berekeningswerkbladen worden uitgevoerd in de volgorde waarin deze in het applicatiewerkboek worden weergegeven. Met 'Kubus optimaliseren' wordt de eigenschap Berekening uitvoeren in de berekeningswerkbladen genegeerd.

      Met 'Kubus optimaliseren' worden alleen rekenscripts ondersteund die vanuit 'Taken' kunnen worden uitgevoerd. Het is niet mogelijk om rekenscripts uit te voeren die afhankelijk zijn van de huidige rastercontext van Smart View (bijvoorbeeld berekeningen die zijn gedefinieerd met de functie @GRIDTUPLES, of berekeningen die gebruikmaken van runtime-vervangingsvariabelen die zijn gedefinieerd met <svLaunch>-tags).

    • Query's uitvoeren: hiermee worden query's op de bladen 'Query's' uitgevoerd.
    • Alles exporteren: hiermee worden alle gegevens in de kubus naar de kubusdirectory geëxporteerd. Nadat de exporttijd en bestandsgrootte zijn vastgelegd, wordt het exportbestand automatisch verwijderd.
  3. Klik op Basis maken.

    Als het applicatiewerkboek geen gegevensblad bevat, wordt u gevraagd gegevens- en regelbestanden uit de catalogus te selecteren. Het verdient de voorkeur om gegevens- en regelbestanden in een gedeelde directory in de catalogus op te slaan, zodat de bestanden niet verloren gaan wanneer u de kubus opnieuw opbouwt.

    Het duurt even om de kubus op te bouwen.

    In Essbase wordt het blad Essbase.Stats.Baseline gegenereerd en aan het werkboek toegevoegd.

  4. Bekijk het blad Essbase.Stats.Baseline in het applicatiewerkboek.
    • In de eerste tabel op het blad ziet u de grootte van de bestanden voor het laden van gegevens, het aantal cellen voor het laden van gegevens, de blokgrootte en de cachegrootten.
      Afbeelding van de eerste tabel in het blad 'Essbase.Stats.Baseline' met databasemetrieken.

    • Met de kleuren in de tabel 'Basis' wordt het opslagtype van elke dimensie aangegeven:
      • Groen: dichte dimensie
      • Rood: schaarsheiddimensie met ten minste één dynamische formule
      • Blauw: schaarsheiddimensie met aggregaties en zonder dynamische bovenliggende onderdelen en formules
      • Goud: ander soort schaarsheiddimensie

      Afbeelding van de tweede tabel in het blad 'Essbase.Stats.Baseline' met dichte en schaarse dimensies, totaal en opgeslagen onderdelen.

    • Bij Laden en berekenen wordt in de afzonderlijke rijen 'Script:' aangegeven welk rekenscript het meeste tijd kost en mogelijk moet worden geoptimaliseerd.
      Afbeelding van de derde tabel in het blad 'Essbase.Stats.Baseline' met laad- en berekeningstijden, blokken, gegevens en gemaakte indexbestandsgrootte.

    • Onder Query, Gelezen blokken wordt de hoeveelheid in de query aangevraagde gegevens weergegeven.

      Wanneer u een dynamische dimensie wijzigt, wordt die hoeveelheid verminderd.

    • Bij Query, Formules wordt het aantal keren weergegeven dat de formules in de query worden uitgevoerd.

      Controleer de oplossingsvolgorde van berekende onderdelen en breng wijzigingen aan om het aantal keren dat de formules worden uitgevoerd, te verminderen en de prestaties te verbeteren. U bereikt dat effect ook wanneer u een berekend onderdeel met formules opslaat.


      Afbeelding van de vierde tabel in het blad 'Essbase.Stats.Baseline' met zoekvraagtijd, gelezen blokken en uitgevoerde formules.

    • In de laatste tabel op het blad ziet u de exporttijd en bestandsgrootte.
      Afbeelding van de vijfde tabel in het blad 'Essbase.Stats.Baseline' met exporttijd en bestandsgrootte.

De oplossingsvolgorde optimaliseren voor een kubus hybride modus

Het hulpprogramma 'Oplossingsvolgorde' biedt een visuele weergave van de oplossingsvolgordestroom die in de applicatie wordt gebruikt. Dit kan helpen om een diagnose te stellen van prestatieproblemen van query's die samenhangen met formules.

Ga als volgt te werk om het hulpprogramma 'Oplossingsvolgorde' voor het optimaliseren van de kubus uit te voeren:

  1. Selecteer Beheertaken> Kubus optimaliseren op het lint van Cube Designer.
  2. Klik op Oplossingsvolgorde.
  3. Bekijk het blad Essbase.Stats.SolveOrder van het applicatiewerkboek.

Pas met behulp van de informatie op het blad Essbase.Stats.SolveOrder de oplossingsvolgorde aan om de prestaties van de query te optimaliseren. Zie voor meer informatie: De kubus optimaliseren voor de hybride modus en Oplossingsvolgorde in de hybride modus.

De rekenfunctiecache optimaliseren voor een kubus in hybride modus

Met het hulpprogramma 'Rekenfunctiecache' krijgt u aanbevelingen voor de optimale instellingen voor de rekenfunctiecache voor de kubus.

Door gebruik van de juiste instelling voor de rekenfunctiecache kunnen de prestaties aanzienlijk verbeteren bij het berekenen van volledige schaarsheiddimensies in een rekenscript. Het berekenen van een volledige schaarsheiddimensie is een techniek om het aantal voor een query benodigde blokken te verminderen.

De standaardwaarde van de rekenfunctiecache is 200.000 bytes. De maximumwaarde is 20.000.000 bytes.

De rekenfunctiecache moet precies voldoende groot worden ingesteld voor de schaarsheiddimensies die in het rekenscript worden berekend. Wanneer de rekenfunctiecache groter wordt ingesteld dan nodig, is dat nadelig voor de prestaties.

Ga als volgt te werk om de rekenfunctiecache met het hulpprogramma 'Rekenfunctiecache' te optimaliseren:
  1. Als u de hoeveelheid door de query aangevraagde gegevens wilt verminderen, gebruikt u een rekenscript om een of meer dimensies te berekenen en op te slaan.

    De beste keuze is meestal de grootste dimensie.

  2. Verplaats deze dimensie zodat deze de eerste schaarsheiddimensie in de structuur is.

    Met het algoritme voor de rekenfunctiecache wordt geselecteerd welke schaarsheiddimensies in de cache worden opgenomen, te beginnen met de eerste schaarsheiddimensie.

  3. Bouw de kubus op zonder gegevens te laden.

    Het hulpprogramma 'Rekenfunctiecache' werkt alleen als de kubus is opgebouwd.

  4. Voer het hulpprogramma 'Rekenfunctiecache' uit.

    Door het hulpprogramma wordt de juiste cache-instelling naast elke dimensie tot 20 MB weergegeven. Boven 20 MB wordt 'N.v.t.' weergegeven. Meestal zijn instellingen boven een paar MB niet nodig.

    1. Selecteer Beheertaken> Kubus optimaliseren op het lint van Cube Designer.
    2. Klik op Rekenfunctiecache.
    3. Bekijk het blad Essbase.Stats.CalcCache van het applicatiewerkboek. U kunt de aanbevolen instellingen voor de rekenfunctiecache bekijken op het werkblad Essbase.Stats.CalcCache in de kolom Rekenfunctiecache.
      Afbeelding van het blad Essbase.Stats.CalcCache in een applicatiewerkboek van het type 'Kubus optimaliseren'

  5. Zoek de Rekenfunctiecache-instelling op het blad Essbase.Stats.CalcCache, naast de schaarsheiddimensie(s) die u in stap 1 hebt berekend en opgeslagen.
  6. Als u in stap 1 één dimensie hebt berekend, stelt u de rekenfunctiecache standaard op die waarde in. Als u in stap 1 meerdere dimensies hebt berekend, kiest u voor de rekenfunctiecache de hoogste van de waarden die u hebt berekend.

    Voeg deze waarde toe aan de sectie 'Applicatie-instellingen' van het werkblad Cube.Settings. U kunt de waarde ook instellen in de configuratie-instellingen van de applicatie in de webinterface van Essbase. Het verdient de voorkeur om naar boven af te ronden, zodat er wat meer ruimte is.

Gegevensdistributie optimaliseren voor een kubus in hybride modus

Met het hulpprogramma 'Gegevensdistributie' krijgt u beter inzicht in de gegevens in een applicatie. Dit stelt u in staat om belangrijke beslissingen over de optimalisatie van de kubus te nemen.

Op grond van inzicht in de gegevens kunt u het volgende bepalen:
  • Welke dimensies dicht en welke schaars moeten worden gemaakt.

    Met dichte dimensies worden de blokken in een blokopslagapplicatie gedefinieerd. Als het even kan, moet een blok de dimensies met de meeste gegevens bevatten en de voornaamste querylay-out voor de applicatie aangeven. Voor applicaties voor financiële rapportage betekent dit meestal dat de tijddimensie en rekeningdimensie dicht moeten zijn.

  • Welke dimensies met een rekenscript moeten worden berekend en opgeslagen.

    Een van de factoren die van invloed zijn op de prestaties van een query is het aantal blokken dat door de query wordt aangevraagd. Als het aantal aangevraagde blokken te hoog is, gaat dit ten koste van de prestaties van de query. U kunt het aantal aangevraagde blokken verminderen door onderdelen van het hoogste niveau van een of meer schaarsheiddimensies vooraf te berekenen. Stel eerst het kenmerk voor de dimensieopslag van de onderdelen van het hoogste niveau in op een opgeslagen kenmerk ('Opslaan' of 'Nooit delen'). Voer vervolgens een rekenscript uit waarmee die dimensie wordt geaggregeerd met CALC DIM of AGG.

  • Welke dimensies als taakdimensie moeten worden gebruikt in de opdracht FIXPARALLEL.

    Gebruik de opdracht FIXPARALLEL om het rekenscript te optimaliseren dat wordt gebruikt voor aggregatie van de opgeslagen schaarsheiddimensies. Het is belangrijk om de juiste taakdimensies te selecteren. Met een taakdimensie wordt bepaald hoe de berekening in threads wordt opgesplitst en parallel wordt uitgevoerd. Een of meer schaarsheiddimensies moeten de meeste gegevens bevatten om het aantal lege taken verminderen, en die gegevens moeten bij voorkeur gelijkmatig worden verdeeld.

Ga als volgt te werk om het hulpprogramma 'Gegevensdistributie' uit te voeren:
  1. Selecteer Beheertaken> Kubus optimaliseren op het lint van Cube Designer.
  2. Selecteer Gegevensdistributie.

    Uitvoering van dit proces kan lang duren, vooral bij grotere modellen.

  3. Bekijk het werkblad Essbase.Stats.DataDist.

Afbeelding van het werkblad 'Essbase.Stats.DataDist' in een werkboek voor het optimaliseren van een kubus met statistieken voor gegevensdistributie.


Afbeelding van het werkblad 'Essbase.Stats.DataDist' in een werkboek voor het optimaliseren van een kubus met blokken en cellen per blok.