Remarques concernant la conception des outlines en mode "aggregate storage"
Cette rubrique répertorie les éléments clés à prendre en compte lors de la conception de l'outline pour votre cube en mode "aggregate storage" (ASO) Essbase. La façon dont les requêtes sont exécutées dépend en grande partie de la planification de l'outline. Utilisez ici les recommandations pour déterminer les hiérarchies à implémenter en tant que hiérarchies stockées, dynamiques ou alternatives (dimensions d'attribut et membres partagés).
Pour un exemple implémenté des recommandations de conception, voir le cube ASOsamp.Basic, disponible dans la galerie.
Concevoir le plan ASO
Tenez compte des informations suivantes lors de la conception d'une outline en mode "aggregate storage" :
-
Utilisez autant que possible les hiérarchies stockées (plutôt que les hiérarchies dynamiques).
-
Utilisez des membres partagés uniquement si nécessaire.
-
Réduisez le nombre de hiérarchies. (Par exemple, chaque hiérarchie stockée supplémentaire ralentit la sélection des vues et augmente potentiellement la taille des données agrégées).
-
Si une hiérarchie est un petit sous-ensemble de la première hiérarchie, envisagez de la transformer en hiérarchie dynamique. Les considérations incluent la fréquence d'interrogation des données de hiérarchie et l'impact sur les performances des requêtes lorsqu'elles sont interrogées dynamiquement au moment de l'extraction.
-
Les performances des attributs sont les mêmes que pour les membres d'une hiérarchie stockée.
-
Plus le niveau d'association d'un attribut au membre de base est élevé, plus la requête d'extraction est rapide.
Dimensions d'attribut et cubes ASO
Cette rubrique fournit des informations sur les différences entre les cubes en mode "aggregate storage" et en mode "block storage" en ce qui concerne les attributs. Pour utiliser les informations de cette rubrique, vous devez déjà maîtriser les concepts d'attribut du stockage de blocs. Reportez-vous à Utilisation des attributs Essbase.
Les informations suivantes s'appliquent aux dimensions d'attribut lorsqu'elles sont utilisées sur des cubes en mode "aggregate storage" :
-
Seul l'opérateur de consolidation d'addition (+) est disponible dans les dimensions d'attribut.
-
Pour une dimension d'attribut donnée, toutes les associations doivent avoir un niveau de la dimension de base. Par exemple, dans le cube ASOsamp.Basic, les associations de la dimension d'attribut Gestionnaire de magasins ont le niveau 0 de la dimension Magasins. Les restrictions suivantes s'appliquent aux associations d'attributs :
-
Niveau 0 : vous pouvez associer des attributs à tout membre de niveau 0 d'une hiérarchie dynamique ou stockée qui n'a pas de formule.
-
Non-niveau 0 : vous ne pouvez associer des attributs qu'aux membres de niveau supérieur de la hiérarchie stockée principale.
-
Les dimensions d'attribut n'ont pas de types de hiérarchie. Vous ne pouvez pas indiquer une dimension d'attribut en tant que hiérarchie dynamique ou stockée. Essbase traite les dimensions d'attribut comme des hiérarchies alternatives stockées de la dimension de base. Par exemple, dans la base de données ASOsamp.Basic, Essbase traite la dimension d'attribut Gestionnaire de magasins comme si la dimension Gestionnaire de magasins était une hiérarchie alternative stockée de la dimension Magasins.
Lorsque le suivi des requêtes est activé, Essbase prend en compte les requêtes sur les données de dimension d'attribut et peut inclure des membres de dimension d'attribut dans les sélections de vue agrégée. Voir Sélectionner des vues en fonction de l'utilisation.
Remarques :
Les interrogations sur les membres d'attribut associés à des membres de niveau autre que 0 renvoient des valeurs pour les descendants du membre de niveau autre que 0. Ce comportement des requêtes sur les membres d'attribut dans les cubes en mode "aggregate storage" est différent de celui des cubes en mode "block storage".
Requêtes d'attribut sur les cubes ASO
Lors de la sélection et de la création de vues basées sur des données de requête d'attribut, certaines requêtes sur des données d'attribut sont toujours calculées dynamiquement au moment de l'extraction, ce qui peut affecter les performances de la requête.
Chaque requête impliquant des membres de dimension d'attribut doit également inclure au moins un membre de la dimension de base. Si la requête implique une dimension d'attribut unique et un membre de dimension de somme de tous, Essbase agrège les données de requête, ce qui améliore potentiellement les performances de la requête. Dans d'autres cas, Essbase doit calculer la requête au moment de l'extraction.
Le tableau suivant décrit les types de requête d'attribut et la façon dont Essbase calcule la requête :
Tableau 36-2 Requêtes d'attribut et performances de calcul
| Type de requête d'attribut | Type de calcul de requête |
|---|---|
|
La requête implique un membre de dimension de base de type somme de tous et des membres d'une dimension d'attribut. |
Essbase peut agréger les données de requête, ce qui peut améliorer les performances des requêtes. |
|
La requête implique tout membre de la dimension de base et les membres de plusieurs dimensions d'attribut. |
Essbase calcule la requête au moment de l'extraction en fonction des données d'entrée de niveau 0. |
|
La requête implique tout membre enfant du membre de dimension de base (ou membre de dimension marqué comme libellé uniquement) et les membres d'une dimension d'attribut. |
Essbase calcule la requête au moment de l'extraction en fonction des données d'entrée de niveau 0 ou des données des agrégations de la dimension de base. |
Dans l'illustration de l'outline ci-dessous, RealDimension est la somme de tous ses descendants (elle n'est pas marquée en tant que libellé uniquement). Si une requête implique un ou plusieurs membres d'une dimension d'attribut unique (par exemple, AttributeDimension1), croisés avec le membre de dimension de base (RealDimension), Essbase peut créer des cellules d'agrégation pour les données, ce qui peut améliorer les performances des requêtes.
Toutefois, les interrogations suivantes sont toujours calculées au moment de l'extraction :
-
Toute requête demandant des données pour des membres d'une dimension d'attribut (par exemple, AttributeDimension1) et l'un des enfants de RealDimension est calculée dynamiquement au moment de l'extraction en fonction des données d'entrée de niveau 0 ou des données des agrégations.
-
Toute requête demandant des données à partir de plusieurs dimensions d'attribut (par exemple, AttributeDimension1 et AttributeDimension2) et d'une dimension de membre de base (par exemple, RealDimension) est calculée dynamiquement au moment de l'extraction en fonction des données d'entrée de niveau 0.
Figure 36-4 Exemple d'outline pour la requête d'attribut

Requêtes d'attribut et hiérarchies multiples
Lorsque vous interrogez des données à partir d'une dimension comportant plusieurs hiérarchies, les performances des interrogations peuvent s'améliorer si vous interrogez les données de la manière suivante :
-
Sélectionnez la hiérarchie que vous voulez interroger.
-
Accédez aux données détaillées (par exemple, en effectuant un zoom avant sur la hiérarchie dans Smart View).
L'inclusion de membres de hiérarchie dynamiques et de membres de hiérarchie stockés dans la même requête peut nécessiter un grand cache de mémoire interne, ce qui réduit les performances des requêtes.