Combinaisons de membres dispersés de groupe

Pour améliorer les performances du chargement des données en mode "block storage" (BSO) Essbase, vous pouvez structurer les données afin de réduire la quantité d'E/S disque nécessaire (lectures et écritures).

Cette section ne s'applique pas aux cubes en mode "aggregate storage".

La stratégie la plus efficace pour améliorer les performances consiste à réduire le nombre d'E/S de disque que Essbase doit effectuer lors de la lecture ou de l'écriture dans le cube. Etant donné qu'Essbase charge les données bloc par bloc, l'organisation des données source pour qu'elles correspondent à l'organisation des blocs physiques réduit le nombre d'E/S de disque physique que Essbase doit effectuer.

Organisez les données source de sorte que les enregistrements ayant la même combinaison unique de dimensions dispersées soient regroupés. Cette disposition correspond aux blocs de la base de données.

Les exemples de ce chapitre illustrent comment organiser les données en suivant cette stratégie. Ces exemples utilisent un sous-ensemble du cube Sample.Basic, comme décrit ci-dessous :

Tableau 33-1 Dimensions et valeurs pour les exemples

Dimensions dispersées, sans attribut Dimensions denses

Scénario (budget, réel)

Mesures (Ventes, Marge, COG, Profit)

Produit (Cola, Bière Racine)

Année (janvier, février)

Marché (Floride, Ohio)

 

Remarques :

Etant donné que vous ne chargez pas de données dans des dimensions d'attribut, elles ne sont pas pertinentes pour cette discussion, bien qu'elles soient dispersées.

Examinez la source de données suivante. Etant donné qu'elles ne sont pas regroupées par combinaisons de membres de dimension dispersée, ces données n'ont pas été triées de manière optimale. Lorsque Essbase lit chaque enregistrement, il doit traiter les différents membres des dimensions dispersées.

Jan
Actual    Cola          Ohio      Sales    25
Budget    "Root Beer"   Florida   Sales    28
Actual    "Root Beer"   Ohio      Sales    18
Budget    Cola          Florida   Sales    30

La source de données ci-dessus se charge lentement car Essbase accède à quatre blocs au lieu d'un.

Les enregistrements d'une source de données mieux organisée pour le même cube Sample Basic sont triés selon une combinaison unique de membres de dimension dispersée : Actual -> Cola -> Ohio. Essbase accède à un seul bloc pour charger les enregistrements suivants :

Actual     Cola    Ohio    Jan   Sales     25
Actual     Cola    Ohio    Jan   Margin    18
Actual     Cola    Ohio    Jan   COGS      20
Actual     Cola    Ohio    Jan   Profit     5

Pour optimiser vos données source en permettant l'importation de nombreuses cellules par enregistrement,

  1. Assurez-vous que les enregistrements sont regroupés par combinaisons uniques de membres de dimension dispersée.

  2. Classez les enregistrements de sorte que la dimension de l'enregistrement pour laquelle vous fournissez plusieurs valeurs soit une dimension dense.

L'exemple suivant utilise un enregistrement d'en-tête pour identifier les membres de la dimension Mesures, qui est dense. Les données sont triées d'abord par membres de la dimension dense Year, puis regroupées hiérarchiquement par membres des autres dimensions. Plusieurs valeurs pour la dimension Mesures sont fournies sur chaque enregistrement.

                                 Sales  Margin   COG  Profit
Jan Actual  Cola         Ohio       25      18    20       5
Jan Actual  Cola         Florida    30      19    20      10
Jan Actual  "Root Beer"  Ohio       18      12    10       8
Jan Actual  "Root Beer"  Florida    28      18    20       8

Notez que l'en-tête et la première ligne de données nécessitent deux lignes dans cet exemple ; l'exemple précédent nécessite quatre lignes pour les mêmes données.