Création de cubes en mode hybride optimisés

Les utilitaires d'optimisation de cube Référence, Cache du calculateur, Ordre de résolution et Distribution des données vous aident à affiner vos cubes pour de meilleures performances.

Créez des cubes en mode hybride optimisés à l'aide des quatre utilitaires correspondants suivants :
Utilitaire Données renvoyées
Ligne de base Métriques de performances de cube
Ordre de résolution Ordre de résolution des membres dans le cube
Cache du calculateur Données qui vous aident à choisir la meilleure valeur de cache du calculateur pour le cube
Distribution des données Données qui vous aident à choisir les dimensions devant être denses et les dimensions devant être dispersées

Optimisation des mesures de référence sur un cube en mode hybride

Les métriques suivies par l'utilitaire de référence présentent les performances du système. Utilisez ces métriques pour déterminer les performances de référence, puis pour quantifier les améliorations apportées par les optimisations suivantes que vous effectuerez.

Avant d'employer cet utilitaire, vous devez créer un classeur d'application, y compris l'outline, les paramètres de configuration, les scripts de calcul et les requêtes à inclure dans le cube.

Lorsque vous exécutez l'utilitaire, il construit le cube, charge les fichiers de données sélectionnés, exécute les scripts de calcul sélectionnés et exécute les requêtes contenues dans le classeur d'application. Il est important que vous disposiez d'un échantillon représentatif de requêtes de vos utilisateurs.

L'utilitaire de référence crée un tableau de bord de l'application et des processus opérationnels, qui peut vous aider à concevoir et à optimiser le cube. Au fil de l'implémentation de modifications et de la reconstruction du cube, la référence vous permet de comparer les itérations des modifications du cube. Dans l'onglet Essbase.Stats.Baseline du classeur d'application, l'utilitaire de référence ajoute de nouvelles tables avec les dernières données de chaque itération.

Préparation de l'exécution de l'utilitaire de référence dans le cadre de l'optimisation du cube sur un cube en mode hybride

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

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

    Pour créer un classeur d'application, vous pouvez télécharger un classeur échantillon, puis le modifier en fonction de vos besoins. Reportez-vous à Exploration des modèles de galerie.

  2. Effacez les métadonnées Smart View dans les feuilles de requête du classeur d'application :
    1. Accédez au ruban Smart View.
    2. Sélectionnez Informations sur la feuille et cliquez sur Supprimer.

    Si les feuilles de requête comportent des métadonnées d'un autre serveur, le concepteur de cubes affiche un avertissement et interrompt le traitement jusqu'à ce que vous répondiez.

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

Exécution de l'utilitaire de référence dans le cadre de l'optimisation du cube sur un cube en mode hybride

L'utilitaire de référence identifie les dimensions denses et dispersées, la taille des données (taille des fichiers PAG et IND), la taille des blocs, ainsi que la taille des caches de données, d'index et de calculateur. Il fournit également des métriques pour les chargements de données, les calculs et les requêtes.

Pour exécuter l'utilitaire de référence, procédez comme suit :

  1. Dans le ruban du concepteur de cubes, 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.
    • Construire un cube : construisez le cube défini dans le classeur d'application et chargez les données dans les feuilles de données.
    • Exécuter les scripts de calcul : exécutez les scripts de calcul définis dans chaque feuille de calcul du classeur d'application.

      Les feuilles de calcul sont exécutées dans l'ordre dans lequel elles apparaissent dans le classeur d'application. L'optimisation du cube ignore la propriété Exécuter le calcul sur les feuilles de calcul.

      Seuls les scripts de calcul qui peuvent être exécutés à partir de la page Jobs sont pris en charge par l'optimisation du cube. Vous ne pouvez pas exécuter des scripts de calcul qui dépendent du contexte de la grille Smart View en cours (par exemple, calculs définis à l'aide de la fonction @GRIDTUPLES ou utilisant des variables de substitution d'exécution définies avec des balises <svLaunch>).

    • Exécuter des requêtes : exécutez les requêtes sur les feuilles de requête.
    • Tout exporter : exportez l'ensemble des données du cube vers le répertoire de cube. Une fois la durée de l'export et la taille du fichier enregistrées, le fichier d'export est supprimé automatiquement.
  3. Cliquez sur Créer une ligne de base.

    En l'absence de feuille de données dans le classeur d'application, vous êtes invité à sélectionner des fichiers de données et de règles dans le catalogue. Il est recommandé de stocker les fichiers de données et de règles dans un répertoire partagé dans le catalogue afin de ne pas les perdre lors de la reconstruction du cube.

    La construction du cube prendra du temps.

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

  4. Visualisez la feuille Essbase.Stats.Baseline du 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, ainsi que la taille des blocs et des caches.
      Image de la première table de la feuille Essbase.Stats.Baseline, présentant des métriques de base de données.

    • Les couleurs de la table de référence identifient le type de stockage pour chaque dimension :
      • Vert : dimension dense
      • Rouge : dimension dispersée avec au moins une formule dynamique
      • Bleu : dimension dispersée avec des agrégations, et sans aucune formule ni aucun parent dynamique
      • Doré : autre dimension dispersée

      Image de la deuxième table de la feuille Essbase.Stats.Baseline, présentant les dimensions denses et dispersées, ainsi que le nombre total de membres et le nombre de membres stockés.

    • Sous Charger et calculer, chaque ligne "Script :" identifie le script de calcul dont l'exécution est la plus longue et qui pourrait être optimisé.
      Image de la troisième table de la feuille Essbase.Stats.Baseline, présentant des durées de chargement et de calcul, ainsi que la taille des blocs, des données et du fichier d'index créés.

    • Sous Requête, puis Lectures de bloc, la quantité de données demandées par la requête apparaît.

      En transformant une dimension dynamique en dimension stockée, vous réduisez cette quantité.

    • Sous Requête, puis Formules, le nombre de formules exécutées dans la requête apparaît.

      Vérifiez les ordres de résolution des membres calculés et apportez des modifications afin de réduire le nombre d'exécutions de formule et d'améliorer les performances, ou envisagez de stocker un membre calculé contenant des formules pour atteindre les mêmes objectifs.


      Image de la quatrième table de la feuille Essbase.Stats.Baseline, présentant la durée de la requête, ainsi que le nombre de lectures de bloc et de formules exécutées.

    • La dernière table de la feuille affiche la durée de l'export et la taille du fichier.
      Image de la cinquième table de la feuille Essbase.Stats.Baseline, présentant la durée de l'export et la taille du fichier.

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

L'utilitaire d'ordre de résolution offre une représentation visuelle du flux d'ordre de résolution utilisé dans l'application. Il peut vous aider à diagnostiquer les problèmes de performances de requête en lien avec les formules.

Pour exécuter l'utilitaire d'ordre de résolution dans le cadre de l'optimisation de cube, procédez comme suit :

  1. Dans le ruban du concepteur de cubes, sélectionnez Tâches d'administration > Optimiser le cube.
  2. Cliquez sur Ordre de résolution.
  3. Visualisez 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 les performances de requête. Reportez-vous à Optimisation du cube pour le mode hybride et Ordre de résolution en mode hybride.

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

L'utilitaire de cache du calculateur recommande le paramètre de cache du calculateur optimal pour le cube.

L'utilisation du paramètre correct de cache du calculateur peut améliorer considérablement les performances lors du calcul de dimensions dispersées entières dans un script de calcul. Le calcul d'une dimension dispersée entière est une technique permettant de réduire le nombre de blocs requis par une requête.

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

Le cache du calculateur doit être défini sur une valeur juste assez grande pour contenir les dimensions dispersées calculées dans le script de calcul. La définition du cache du calculateur sur une valeur plus élevée que nécessaire a un impact négatif sur les performances.

Pour optimiser le cache du calculateur à l'aide de son utilitaire, procédez comme suit :
  1. Pour réduire la quantité de données demandées par la requête, calculez et stockez des dimensions à l'aide d'un script de calcul.

    La plus grande dimension constitue généralement le meilleur choix.

  2. Déplacez cette dimension vers la première dimension dispersée de l'outline.

    L'algorithme de cache du calculateur sélectionne les dimensions dispersées à placer dans le cache, en commençant par la première.

  3. Construisez le cube sans charger de données.

    Le cube doit être construit pour que l'utilitaire de cache du calculateur fonctionne.

  4. Exécutez l'utilitaire de cache du calculateur.

    L'utilitaire affiche le paramètre de cache correct en regard de chaque dimension jusqu'à 20 Mo. Au-delà de 20 Mo, N/A apparaît. Généralement, au-dessus de 2 Mo, les paramètres ne sont pas nécessaires.

    1. Dans le ruban du concepteur de cubes, sélectionnez Tâches d'administration > Optimiser le cube.
    2. Cliquez sur Mémoire tampon calculée.
    3. Visualisez la feuille Essbase.Stats.CalcCache du classeur d'application. Vous pouvez afficher les paramètres de cache du calculateur recommandés dans la feuille de calcul Essbase.Stats.CalcCache, dans la colonne Mémoire tampon calculée.
      Image de la feuille Essbase.Stats.CalcCache dans un classeur d'application de type Optimiser le cube.

  5. Localisez le paramètre Mémoire tampon calculée dans la feuille Essbase.Stats.CalcCache, en regard des dimensions dispersées calculées et stockées à l'étape 1.
  6. Si vous avez calculé une seule dimension à l'étape 1, définissez cette valeur en tant que valeur par défaut de cache du calculateur. Si vous avez calculé plusieurs dimensions à l'étape 1, choisissez la valeur Mémoire tampon calculée la plus élevée parmi les valeurs calculées.

    Ajoutez cette valeur à la section des paramètres d'application de la feuille de calcul Cube.Settings. Vous pouvez également définir la valeur dans les paramètres de configuration d'application dans l'interface Web Essbase. Un arrondi à la valeur supérieure est recommandé, pour se laisser une marge.

Optimisation de la distribution des données sur un cube en mode hybride

L'utilitaire de distribution des données vous aide à mieux comprendre les données d'une application, ce qui vous permet de prendre des décisions importantes sur l'optimisation de votre cube.

Grâce à cette compréhension des données, vous pourrez déterminer les éléments suivants :
  • Dimensions devant être denses et dimensions devant être dispersées.

    Les dimensions denses définissent les blocs dans une application en mode "block storage". Dans l'idéal, un bloc doit contenir des dimensions comportant le plus de données possible et représenter la disposition de requête prédominante pour l'application. Pour les applications de reporting financier, cela signifie généralement que les dimensions Temps et Compte doivent être denses.

  • Dimensions à calculer et à stocker à l'aide d'un script de calcul.

    L'un des facteurs ayant un impact sur les performances de requête est le nombre de blocs demandés par la requête. Si le nombre de blocs demandés est trop élevé, les performances de requête sont détériorées. Pour réduire le nombre de blocs demandés, précalculez les membres de niveau supérieur de dimensions dispersées. Commencez par définir l'attribut de stockage de dimension des membres supérieurs sur un attribut stocké (Stocker ou Ne jamais partager), puis exécutez un script de calcul qui agrège la dimension en utilisant soit CALC DIM, soit AGG.

  • Dimensions à utiliser en tant que dimensions de tâche dans la commande FIXPARALLEL.

    Pour optimiser le script de calcul utilisé afin d'agréger les dimensions dispersées stockées, exécutez la commande FIXPARALLEL. Il est important que vous sélectionniez les dimensions de tâche appropriées. La dimension de tâche est celle qui détermine comment le calcul est divisé en threads et exécuté en parallèle. Les dimensions dispersées doivent contenir le plus de données possible afin de réduire les tâches vides, et dans l'idéal, les données doivent être réparties équitablement.

Pour exécuter l'utilitaire de distribution des données, procédez comme suit :
  1. Dans le ruban du concepteur de cubes, sélectionnez Tâches d'administration > Optimiser le cube.
  2. Sélectionnez Distribution des données.

    L'exécution de ce processus peut prendre beaucoup de temps, particulièrement sur les modèles volumineux.

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

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


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