Créer des cubes en mode hybride optimisés

Les utilitaires Optimiser le cube Référence, Mémoire cache de calcul, Ordre de résolution et Répartition des données vous permettent d'affiner vos cubes pour une performance optimale.

Créer des cubes optimisés mode hybride à l'aide des quatre utilitaires Optimiser le cube :
Utilitaire Données retournées
Référence Mesures de performance du cube
Ordre de résolution Ordre de résolution des membres dans le cube
Mémoire cache de calcul Données pour vous aider à choisir la meilleure valeur de mémoire cache de calculateur pour le cube
Répartition des données Données pouvant vous aider à choisir les dimensions à rendre denses ou creuses.

Optimiser les mesures de référence sur un cube en mode hybride

Les mesures suivies dans l'utilitaire Référence présentent les performances du système. Utilisez ces mesures pour déterminer la performance de référence, ainsi que pour mesurer les avantages apportés par les optimisations subséquentes que vous apporterez.

Avant d'utiliser cet utilitaire, vous devez créer un classeur d'application, y compris la structure, les paramètres de configuration, les scripts de calcul et les interrogations à inclure dans le cube.

Lorsque vous exécutez l'utilitaire, celui-ci crée le cube, charge les fichiers de données sélectionnés, exécute les scripts de calcul sélectionnés et exécute les interrogations du classeur d'application. Il est important d'avoir un exemple représentatif des interrogations de vos utilisateurs.

L'utilitaire Référence crée un tableau de bord des processus d'application et opérationnels, ce qui peut vous aider à concevoir et à optimiser le cube. Alors que vous mettez en oeuvre les modifications afin de recréer le cube, la référence vous aide à comparer les itérations des modifications du cube. Dans l'onglet Essbase.Stats.Baseline du classeur d'application, l'utilitaire Référence ajoute de nouvelles tables avec les données les plus récentes pour chaque itération.

Préparer l'exécution de l'utilitaire Optimiser le cube - Référence sur un cube en mode hybride

Réalisez les tâches suivantes avant d'exécuter l'utilitaire de référence :

  1. Concevez et créez votre classeur d'application.

    Pour créer un classeur d'application, vous pouvez télécharger un exemple de classeur d'application et le modifier en fonction de vos besoins. Voir Explorer les modèles de galerie.

  2. Effacez les feuilles d'interrogation du classeur d'application des métadonnées de Smart View :
    1. Allez au ruban Smart View.
    2. Sélectionnez Infos sur la feuille et cliquez sur Supprimer.

    Si les feuilles d'interrogation ont des métadonnées provenant d'un autre serveur, le concepteur de cube affiche un avertissement et met le traitement sur pause, jusqu'à ce que vous lui répondiez.

  3. Modifiez la feuille de calcul Cube.Settings avec les paramètres de configuration d'application suivants :
    Paramètre Valeur
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Exécuter l'utilitaire Optimiser le cube - Référence sur un cube en mode hybride

L'utilitaire Référence identifie les dimensions denses et creuses, la taille des données (tailles des fichiers PAG et IND), la taille de bloc ainsi que les tailles des données, de l'index et de la mémoire cache du calculateur. De plus, il présente les mesures pour le chargement de données, le calcul et l'interrogation.

Pour exécuter l'utilitaire Référence :

  1. À partir du ruban Concepteur de cube, sélectionnez Tâches d'administration > Optimiser le cube.
  2. (Facultatif) Cliquez sur Personnaliser pour choisir les opérations de référence à exécuter.
    • Créer un cube - Créer le cube défini dans le classeur d'application et charger les données dans les feuilles de données.
    • Exécuter les scripts de calcul - Exécuter les scripts de calcul définis dans chaque feuille de calcul dans le classeur d'application.

      Les feuilles de calcul sont exécutées dans l'ordre présenté dans le classeur d'application. Optimiser le cube ignore la propriété Exécuter le calcul des feuilles de calcul.

      Seuls les scripts de calcul qui peuvent être exécutés à partir des tâches sont pris en charge par Optimiser le cube. Vous ne pouvez pas exécuter les scripts de calcul qui dépendent du contexte actuel de la grille Smart View (par exemple, les calculs définis en utilisant la fonction @GRIDTUPLES ou ceux qui utilisent les variables de remplacement à l'exécution définies dans les balises <svLaunch>).

    • Exécuter les interrogations - Exécuter les interrogations des feuilles d'interrogation.
    • Tout exporter - Exporter toutes les données dans le cube vers le répertoire du cube. Après la consignation du temps d'exportation et de la taille du fichier, le fichier d'exportation est supprimé automatiquement.
  3. Cliquez sur Créer une référence.

    Si vous n'avez pas de feuille de données dans le classeur d'application, le système vous demandera de sélectionner des fichiers de données et de règles à partir du catalogue. Une bonne pratique consiste à stocker les fichiers de données et de règles dans un répertoire partagé dans le catalogue afin d'éviter de perdre les fichiers nécessaires à la recréation du cube.

    La création du cube nécessite un certain temps.

    Essbase génère la feuille Essbase.Stats.Baseline et l'ajoute au classeur.

  4. Consultez la feuille Essbase.Stats.Baseline dans le classeur d'application.
    • La première table de la feuille affiche la taille des fichiers de chargement de données, le nombre de cellules de chargement de données, la taille de bloc et les tailles des mémoires caches.
      Illustration de la première table dans la feuille Essbase.Stats.Baseline, montrant des mesures de base de données.

    • Les couleurs dans le tableau de référence déterminent le type de stockage pour chaque dimension :
      • Vert - Dimension dense
      • Rouge - Dimension creuse avec au moins une formule dynamique
      • Bleu - Dimension creuse avec des agrégations, sans les parents et les formules dynamiques
      • Or - Autre dimension creuse

      Illustration de la deuxième table dans la feuille Essbase.Stats.Baseline, montrant les dimensions denses et dispersées, le nombre total de membres et le nombre de membres stockés.

    • Sous Charger et calculer, les rangées individuelles "Script:" identifient les scripts de calcul qui nécessitent le plus de temps à réaliser, et ainsi qui pourraient être optimisés.
      Illustration de la troisième table dans la feuille Essbase.Stats.Baseline, montrant les temps de chargement et de calcul, les blocs, les données et la taille du fichier d'index créé.

    • Sous Interrogation, Lecture des blocs, le système présente la quantité de données demandée par l'interrogation.

      Modifier une dimension dynamique pour la mettre en stockage réduit cette quantité.

    • Sous Interrogation, Formules, le système présente le nombre de formules exécutées dans l'interrogation.

      Vérifiez l'ordre de résolution des membres calculés et apportez des modifications pour réduire le nombre d'exécutions de formule et améliorer les performances. Vous pouvez également considérer le stockage d'un membre calculé contenant des formules pour de réduire le nombre d'exécutions de formule et améliorer les performances.


      Illustration de la quatrième table dans la feuille Essbase.Stats.Baseline, montrant le temps d'interrogation, le nombre de blocs lus et le nombre de formules exécutées.

    • La dernière table de la feuille affiche le temps d'exportation et la taille de fichier.
      Illustration de la cinquième table dans la feuille Essbase.Stats.Baseline, montrant le temps d'exportation et la taille de fichier.

Optimiser l'ordre de résolution sur un cube en mode hybride

L'utilitaire Ordre de résolution vous offre une représentation visuelle du flux de résolution utilisé dans l'application. Il peut vous aider à diagnostiquer les problèmes de performances d'interrogation associés aux formules.

Pour exécuter l'utilitaire Optimiser l'ordre de résolution du cube :

  1. À partir du ruban Concepteur de cube, sélectionnez Tâches d'administration > Optimiser le cube.
  2. Cliquez sur Ordre de résolution.
  3. Consultez la feuille Essbase.Stats.SolveOrder du classeur d'application.

Utilisez les informations de la feuille Essbase.Stats.SolveOrder pour ajuster l'ordre de résolution afin d'optimiser la performance des interrogations. Voir Optimiser le cube pour le mode hybride et Ordre de résolution en mode hybride.

Optimiser la mémoire cache du calculateur sur un cube en mode hybride

L'utilitaire Mémoire cache de calcul recommande le paramètre optimal de mémoire cache du calculateur pour le cube.

L'utilisation du bon paramètre de mémoire cache de calcul peut avoir une incidence importante sur la performance lors du calcul des dimensions creuses en entier pour un script de calcul. Le calcul des dimensions creuses en entier est une technique pour réduire le nombre de blocs requis par une interrogation.

La valeur par défaut de la mémoire cache du calculateur est de 200 000 octets. La valeur maximale est de 20 000 000 octets.

La mémoire cache du calculateur doit être réglée à une taille suffisante pour contenir les dimensions creuses calculées dans le script de calcul. Régler la mémoire cache du calculateur à une valeur plus grande que nécessaire aura une incidence négative sur la performance.

Pour optimiser la mémoire cache du calculateur à l'aide de l'utilitaire Mémoire cache de calcul :
  1. Afin de réduire la quantité de données demandées par l'interrogation, calculez et stockez une ou plusieurs dimensions en utilisant un script de calcul.

    Le meilleur choix est normalement la dimension la plus grande.

  2. Déplacez cette dimension afin qu'elle soit la première dimension creuse dans la structure.

    L'algorithme de mémoire cache du calculateur sélectionne les dimensions creuses à placer dans la mémoire cache, en commençant par la première dimension creuse.

  3. Créez un cube sans charger les données.

    Le cube doit être créé pour que l'utilitaire Mémoire cache de calcul fonctionne.

  4. Exécutez l'utilitaire Mémoire cache de calcul.

    Cet utilitaire affiche les paramètres adéquats de mémoire cache vis-à-vis de chaque dimension, jusqu'à 20 Mo. Lorsque la taille dépasse 20 Mo, S.O. est affiché. Généralement, les réglages dépassant quelques mégaoctets ne sont pas utiles.

    1. À partir du ruban Concepteur de cube, sélectionnez Tâches d'administration > Optimiser le cube.
    2. Cliquez sur Mémoire cache de calcul.
    3. Consultez la feuille Essbase.Stats.CalcCache du classeur d'application. Vous pouvez voir les paramètres de mémoire cache du calculateur recommandés dans la feuille de calcul Essbase.Stats.CalcCache, dans la colonne Mémoire cache de calcul.
      Illustration de la feuille Essbase.Stats.CalcCache dans un classeur d'application Optimiser le cube.

  5. Repérez le paramètre Calc Cache dans la feuille Essbase.Stats.CalcCache, à côté des dimensions creuses calculées à l'étape 1.
  6. Si vous avez calculé une dimension à l'étape 1, réglez la valeur de la mémoire cache du calculateur à cette valeur. Si vous avez calculé plus d'une dimension à l'étape 1, sélectionnez la valeur la plus élevée pour Mémoire cache de calcul parmi les valeurs calculées.

    Ajoutez cette valeur à la section Paramètres d'application de la feuille de calcul Cube.Settings. Facultativement, vous pouvez régler cette valeur dans les paramètres de configuration d'application dans l'interface Web d'Essbase. Une bonne pratique consiste à arrondir à l'unité supérieure afin de permettre un peu plus de latitude.

Optimiser la répartition des données sur un cube en mode hybride

L'utilitaire Répartition des données vous aide à mieux comprendre les données dans une application, ce qui vous permet de rendre les décisions importantes concernant la manière d'optimiser votre cube.

Comprendre les données vous aide à déterminer ce qui suit :
  • Les dimensions qui doivent être denses ou creuses.

    Les dimensions denses définissent les blocs d'une application de stockage par blocs. Idéalement, un bloc devrait contenir les dimensions avec le plus de données et représenter la disposition d'interrogation prédominante pour l'application. Pour les applications de production de rapports financiers, cela signifie normalement que les dimensions de temps et de compte doivent être denses.

  • Les dimensions à calculer et à stocker en utilisant un script de calcul.

    Un des facteurs pouvant affecter la performance de l'interrogation est le nombre de blocs demandés par l'interrogation. Si le nombre de blocs demandés est trop élevé, la performance de l'interrogation sera affectée. Pour réduire le nombre de blocs demandés, effectuez un précalcul des membres de niveau supérieur pour une ou plusieurs dimensions creuses. Premièrement, réglez l'attribut de stockage de dimension des membres supérieurs à un attribut de stockage (Stocker ou Ne jamais partager), puis exécutez un script de calcul qui fait l'agrégation de la dimension en utilisant CALC DIM ou bien AGG.

  • Les dimensions à utiliser à titre de dimension de tâche dans la commande FIXPARALLEL.

    Pour optimiser le script de calcul servant à l'agrégation des dimensions creuses stockées, utilisez la commande FIXPARALLEL. Il est important de sélectionner les bonnes dimensions de tâche. Une dimension de tâche est celle qui détermine comment le calcul est fractionné entre différents fils et exécuté en parallèle. Une ou plusieurs dimensions creuses devraient contenir le plus de données possibles afin de réduire les tâches vides et, idéalement, les données devraient être réparties de manière uniforme.

Pour exécuter l'utilitaire Répartition des données :
  1. À partir du ruban Concepteur de cube, sélectionnez Tâches d'administration > Optimiser le cube.
  2. Sélectionnez Répartition des données.

    L'exécution de ce processus peut nécessiter beaucoup de temps, en particulier dans le cas des modèles volumineux.

  3. Consultez la feuille de calcul Essbase.Stats.DataDist.

Illustration de l'onglet Essbase.Stats.DataDist dans un classeur d'optimisation de cube, montrant des statistiques de répartition des données.


Illustration de l'onglet Essbase.Stats.DataDist dans un classeur d'optimisation de cube, montrant les blocs et cellules par bloc.