Conception pour les performances de calcul
Pour optimiser les performances de calcul d'un cube en mode "block storage" Essbase, tenez compte de l'impact de la taille et de la densité des blocs de données, de l'efficacité des formules et des scripts de calcul et des moyens de régler les caractéristiques de l'outline (par exemple, l'ordre des dimensions dispersées, l'utilisation des niveaux et la dimension Temps).
Vous pouvez configurer une base de données pour optimiser les performances de calcul.
La meilleure configuration pour le site dépend de la nature et de la taille de la base de données. N'utilisez les informations des rubriques suivantes qu'à titre indicatif.
Taille de bloc et densité de bloc
Pour que les cubes en mode "block storage" Essbase aient des performances de calcul optimales, découvrez comment la taille et la densité des blocs de données peuvent avoir un impact sur les performances et le stockage. Consultez les statistiques de bloc à l'aide de l'interface Web Essbase ou de MaxL.
Une taille de bloc de données comprise entre 8 et 100 Ko offre des performances optimales dans la plupart des cas.
Si les blocs de données sont bien plus petits que 8 ko, l'index est généralement très volumineux, ce qui oblige Essbase à écrire dans l'index et à l'extraire du disque. Ce traitement ralentit le calcul.
Si les blocs de données sont bien plus grands que 100 Ko, le calcul intelligent ne fonctionne pas efficacement. Voir Calcul intelligent pour les cubes en mode "block storage".
Pour optimiser les performances du calcul et du stockage de données, vous devrez peut-être équilibrer la densité des blocs de données et leur taille en réorganisant la configuration de dimension dense et dispersée de la base. Gardez ces suggestions à l'esprit :
-
Conservez une taille de bloc de données comprise entre 8 et 100 Ko avec une densité de bloc aussi élevée que possible.
-
Exécuter les calculs de test des configurations les plus prometteuses d'un cube qui contient des données représentatives. Vérifiez les résultats pour déterminer la configuration qui produit les meilleures performances de calcul.
-
Pensez à utiliser le mode hybride. Dans un cube en mode hybride, vous pouvez facilement personnaliser l'ordre de résolution au lieu de réorganiser l'ordre dimensionnel.
Affichez les informations relatives à un cube, notamment le nombre potentiel et réel de blocs de données et la taille de bloc de données, à l'aide de l'interface Web Essbase ou de MaxL.

L'instruction équivalente pour afficher les statistiques de bloc à l'aide de MaxL est la suivante :
query database appname.dbname get dbstats data_block;Ordre des dimensions dispersées
Dans les cubes en mode "block storage" Essbase, les performances de calcul peuvent être améliorées en plaçant les dimensions dispersées plus petites en premier dans l'ordre de l'outline.
Vous pouvez également envisager d'utiliser le mode hybride. Dans un cube en mode hybride, vous pouvez facilement personnaliser l'ordre de résolution au lieu de réorganiser l'ordre dimensionnel.
Vous pouvez améliorer les performances de calcul en modifiant l'ordre des dimensions dispersées standard (non attribut) dans l'outline. Classez les dimensions dispersées standard en fonction du nombre de membres qu'elles contiennent, en plaçant la dimension qui contient le moins de membres en premier. Cette disposition peut améliorer :
-
La fonction du cache de la calculatrice peut avoir une amélioration des performances d'environ 10 % pour une outline avec une grande dimension (par exemple, celle contenant 1000 membres).
-
Si cette option est activée, le calcul parallèle est plus susceptible d'être utilisé si la dimension dispersée standard avec le plus de membres est la dernière dimension dispersée standard de l'outline.
Cubes chargés par incréments
Pour les cubes en mode "block storage" Essbase chargés de façon incrémentielle (périodique) avec des données, les performances de calcul peuvent être améliorées en dispersant la dimension Temps dans l'outline.
De nombreuses entreprises chargent les données de manière incrémentielle. Par exemple, une société peut charger des données chaque mois pour ce mois.
Pour optimiser les performances de calcul lorsque vous chargez les données de manière incrémentielle, définissez la dimension marquée comme étant de type temps comme une dimension dispersée. Si la dimension Temps est dispersée, la base de données contient un bloc de données pour chaque période. Lorsque vous chargez des données par période, Essbase accède à moins de blocs de données car moins de blocs contiennent la période appropriée. Par conséquent, si vous avez activé le calcul intelligent, seuls les blocs de données marqués comme modifiés sont recalculés. Par exemple, si vous chargez les données de mars, seuls les blocs de données de mars et les parents dépendants de mars sont mis à jour.
Cependant, la dispersion de la dimension temporelle lorsqu'elle est naturellement dense peut augmenter considérablement la taille de l'index, ce qui peut ralentir les performances en raison d'une activité d'E/S physique accrue pour prendre en charge l'index volumineux.
Si la dimension marquée comme temps est dense, vous bénéficiez tout de même d'un certain avantage du calcul intelligent lorsque vous effectuez un chargement partiel de données pour une dimension dispersée. Par exemple, si Produit est dispersé et que vous chargez des données pour un produit, Essbase recalcule uniquement les blocs affectés par le chargement partiel, bien que le temps soit dense et que le calcul intelligent soit activé.
Plans avec plusieurs dimensions plates
Pour les cubes en mode "block storage" Essbase comportant des milliers de membres dans des dimensions plates, les performances de calcul peuvent être améliorées en ajoutant des niveaux dans l'outline.
Les performances de calcul peuvent être affectées si une outline de cube comporte plusieurs dimensions plates. Une dimension plate a très peu de parents, et chaque parent a beaucoup de milliers d'enfants ; en d'autres termes, les dimensions plates ont beaucoup de membres et peu de niveaux.
Vous pouvez améliorer les performances des plans comportant plusieurs dimensions plates en ajoutant des niveaux intermédiaires à l'outline.
Formules et scripts de calcul
Pour optimiser les scripts de calcul et les formules pour les cubes en mode "block storage", prenez les mesures nécessaires pour réduire le nombre de cycles effectués par Essbase via les blocs de données.
Vous pouvez améliorer considérablement les performances des calculs en regroupant soigneusement les formules et les dimensions dans un script de calcul. Ainsi, vous pouvez vous assurer qu'Essbase parcourt les blocs de données du cube le moins de fois possible au cours d'un calcul.
Ordonnez les commandes dans les scripts de calcul pour simplifier le calcul de la base de données. Envisagez d'appliquer toutes les formules à l'outline et d'utiliser un calcul par défaut (CALC ALL).
Reportez-vous à Développement de scripts de calcul pour les cubes en mode "block storage" et à Réussite du calcul.