Stockage des données
Le croisement d'un membre d'une dimension Essbase avec un membre de chacune des autres dimensions est une valeur de données. Le découpage de la base de données de différentes manières offre des perspectives sur les données en fonction des relations entre membres. Pour stocker des données et y accéder, Essbase utilise des blocs et un index.
Remarques :
Ces informations s'appliquent uniquement aux cubes en mode "block storage" (BSO) et non aux cubes en mode "aggregate storage" (ASO).
Chaque valeur de données d'une base de données Essbase est stockée dans une cellule. Une valeur de données particulière est référencée en spécifiant ses coordonnées le long de chaque dimension standard.
Remarques :
Essbase ne stocke pas de données pour les dimensions d'attribut. Essbase calcule dynamiquement les données de dimension d'attribut lorsqu'un utilisateur les extrait.
Considérez la base de données simplifiée illustrée dans la figure 2-13. Cette base de données comporte trois dimensions : Comptes, Temps et Scénario :
-
La dimension Comptes comporte quatre membres : Sales, COGS, Margin et Margin%.
-
La dimension Temps comporte quatre membres de trimestre et Qtr1 trois membres de mois.
-
La dimension Scénario comporte deux membres enfant : Budget pour les valeurs budgétaires et Réel pour les valeurs réelles.
Figure 2-13 Plan d'une base de données multidimensionnelle

Valeurs de données
Le croisement d'un membre d'une dimension Essbase avec un membre de chacune des autres dimensions représente une valeur de données. Une valeur de données est la tranche de données la plus petite.
L'exemple ci-dessous comporte trois dimensions (Comptes, Temps et Scénario). Par conséquent, les dimensions et les valeurs de données de la base de données peuvent être représentées sous forme de cube.
Figure 2-14 Base de données tridimensionnelle

Lorsque vous indiquez Sales, vous indiquez la tranche de la base de données qui contient huit valeurs Sales, où Sales croise les valeurs Actual et Budget.
Figure 2-15 Tranche de vente de la base de données

La division en tranches d'une base de données revient à fixer une ou plusieurs dimensions à une valeur constante tout en permettant aux autres dimensions de varier.
Lorsque vous indiquez Actual Sales, vous indiquez la tranche de la base de données qui contient quatre valeurs Sales, où Actual et Sales se croisent.
Figure 2-16 Tranche réelle des ventes de la base de données

Une valeur de données est stockée dans une cellule de la base. Pour faire référence à une valeur de données spécifique dans une base de données multidimensionnelle, vous indiquez son membre sur chaque dimension. Par exemple, la tranche Sales, Jan, Actual se compose d'une valeur de données. La valeur de données peut également être exprimée à l'aide de l'opérateur inter-dimensionnel (->), Ventes -> Réel -> Jan.
Figure 2-17 Ventes->Jan->Valeur des données réelles

Blocs de données et système d'index
Essbase utilise deux types de structure interne pour stocker des données et y accéder : les blocs de données et le système d'index.
Essbase crée un bloc de données pour chaque combinaison unique de membres de dimension standard dispersés (à condition qu'au moins une valeur de données existe pour la combinaison de membres de dimension dispersée). Le bloc de données représente tous les membres des dimensions denses de sa combinaison de membres des dimensions dispersées.
Essbase crée une entrée d'index pour chaque bloc de données. L'index représente les combinaisons de membres de dimension standard dispersés. Il contient une entrée pour chaque combinaison unique de membres de dimension standard dispersés pour laquelle au moins une valeur de données existe.
Par exemple, dans l'outline de base de données Sample.Basic illustrée dans la figure 2-18, Product et Market sont des dimensions dispersées.
Figure 2-18 Dimensions du produit et du marché dans la base de données Sample.Basic

Si des données existent pour Caffeine Free Cola à New York, Essbase crée un bloc de données et une entrée d'index pour la combinaison de membres dispersés de Caffeine Free Cola (100-30) -> New York. Si Caffeine Free Cola n'est pas vendu en Floride, Essbase ne crée pas de bloc de données ou d'entrée d'index pour la combinaison de membres dispersés : Caffeine Free Cola (100-30) -> Florida.
Le bloc de données Caffeine Free Cola (100-30) -> New York représente toutes les dimensions Année, Mesures et Scénario pour Caffeine Free Cola (100-30) -> New York.
Chaque valeur de données unique peut être considérée comme existant dans une cellule d'un bloc de données. Lorsque Essbase recherche une valeur de données, il utilise l'index pour localiser le bloc de données approprié. Ensuite, dans le bloc de données, il localise la cellule contenant la valeur de données. L'entrée d'index fournit un pointeur vers le bloc de données. L'index gère efficacement les données dispersées, car il inclut uniquement des pointeurs vers les blocs de données existants.
La figure 2-19 présente une partie d'un bloc de données pour la base de données Sample.Basic. Chaque dimension du bloc représente une dimension dense dans la base de données Sample.Basic : Time, Measures et Scenario. Un bloc de données existe pour chaque combinaison unique de membres des dimensions dispersées Produit et Marché (à condition qu'au moins une valeur de données existe pour la combinaison).
Figure 2-19 Partie d'un bloc de données pour la base de données Sample.Basic

Chaque bloc de données est un tableau multidimensionnel qui contient un emplacement fixe et ordonné pour chaque combinaison possible de membres de dimension dense. L'accès à une cellule du bloc n'implique pas de recherches séquentielles ou d'index. La recherche est presque instantanée, ce qui se traduit par une vitesse d'extraction et de calcul optimale.
Essbase trie les cellules d'un bloc de données en fonction de l'ordre des membres dans les dimensions denses de l'outline de base de données.
A (Dense)
a1
a2
B (Dense)
b1
b11
b12
b2
b21
b22
C (Dense)
c1
c2
c3
D (Sparse)
d1
d2
d21
d22
E (Sparse)
e1
e2
e3Le bloc de la figure 2-20 représente les trois dimensions denses de la combinaison des membres dispersés d22 et e3 de l'outline de base de données précédente. Dans Essbase, les combinaisons de membres sont signalées par l'opérateur inter-dimensionnel. Le symbole de l'opérateur inter-dimensionnel est ->, donc d22 -> e3 désigne le bloc pour d22 et e3. L'intersection de A, b21 et c3 est écrite comme A -> b21 -> c3.
Figure 2-20 Bloc de données représentant des dimensions denses pour d22 -> e3

Essbase crée un bloc de données pour chaque combinaison unique des membres des dimensions dispersées D et E (à condition qu'au moins une valeur de données existe pour la combinaison).
Les blocs de données, tels que celui de la figure 2-20, peuvent inclure des cellules qui ne contiennent pas de valeurs de données. Un bloc de données est créé si au moins une valeur de données existe dans le bloc. Essbase compresse les blocs de données dont les valeurs sont manquantes sur le disque, en développant complètement chaque bloc au fur et à mesure qu'il met le bloc en mémoire. La compression des données est facultative mais elle est activée par défaut.
En sélectionnant soigneusement les dimensions standard denses et dispersées, vous pouvez vous assurer que les blocs de données ne contiennent pas beaucoup de cellules vides, ce qui réduit les besoins en stockage sur disque et améliore les performances. Dans Essbase, les cellules vides sont appelées données #MISSING.
Tranches : plusieurs vues de données
Une base de données Essbase prend en charge plusieurs vues d'ensembles de données pour les utilisateurs qui doivent analyser les relations entre les catégories de données. La subdivision en tranches de la base de données de différentes manières offre des perspectives différentes pour les données.
Par exemple, dans la figure 2-21, la tranche de Jan examine toutes les valeurs de données pour lesquelles la dimension Année est fixée à Jan.
Figure 2-21 Données de janvier

La tranche de la figure 2-22 affiche les données du mois de février :
Figure 2-22 Données de février

La tranche de la figure 2-23 présente les données de marge bénéficiaire :
Figure 2-23 Données sur la marge bénéficiaire
