Pagination d'outline dans les cubes en mode "aggregate storage"

Les outlines de cubes en mode "aggregate storage" (ASO) peuvent faire l'objet de pages, ce qui réduit considérablement l'utilisation de la mémoire pour les cubes de très grande taille. Essbase précharge une partie de l'outline en mémoire. Lors de l'extraction des données, Essbase transfère en mémoire d'autres parties de l'outline, le cas échéant.

Lorsque vous créez un cube en mode "aggregate storage", l'outline est créée dans un format pageable.

La pagination d'une outline dans la mémoire permet à Essbase de gérer des outlines très volumineuses (par exemple, 10 millions de membres ou plus), mais peut potentiellement augmenter le temps d'extraction des données.

Remarques :

Les cubes en mode "aggregate storage" qui ont des contours pageables contiennent des pages mémoire. Par conséquent, leurs fichiers d'outline peuvent être plus volumineux que les fichiers binaires d'outline en mode "block storage".

Limites de pagination d'outline

La taille maximale d'une outline constructible (nombre de membres) dépend de plusieurs facteurs :

  • Mémoire disponible pour Essbase

  • Quantité de mémoire allouée dans Essbase pour d'autres utilisations

  • Quantité de mémoire requise pour chaque membre (et alias pour chaque membre)

Essbase utilise environ 40 Mo de mémoire au démarrage. En outre, les différents caches nécessitent les allocations de mémoire suivantes :

  • Cache de pagination d'outline : 8 Mo

  • Cache de données en mode "aggregate storage" : 32 Mo

  • Cache d'agrégation en mode "aggregate storage" : 10 Mo

Par conséquent, l'empreinte mémoire initiale pour Essbase est d'environ 90 Mo. En outre, la mémoire doit être allouée pour traiter les demandes de requête entrantes. La mémoire standard à réserver à cette fin est d'environ 300 Mo. La mémoire totale allouée à Essbase est donc de 390 Mo.

Sur un système Windows avec 1,85 Go de mémoire adressable, la quantité disponible pour construire et charger le profil est d'environ 1,46 Go (1,85 Go - 390 Mo = 1,46 Go).

La taille maximale de l'outline varie selon qu'elle est créée à l'aide d'une construction de dimension ou d'une outline déjà chargée dans Essbase.

Limite de pagination de l'outline de construction de dimension

Pour créer l'outline à l'aide d'une construction de dimension, Essbase alloue environ 100 octets par membre, plus la taille du nom de membre, plus la taille de tous les noms d'alias pour le membre (jusqu'à 10 alias sont autorisés).

Pour un exemple d'outline (utilisant une page de code d'octet unique) où le nom de membre moyen est de 15 caractères et où il y a un alias (de 20 caractères) par membre, la mémoire requise pour chaque membre ajouté est la suivante :

100 + 15 + 20 octets = 135 octets

Le nombre total de membres pouvant être ajoutés dans une construction de dimension est la mémoire disponible (1,46 Go, soit 153 092 060 octets) divisée par le nombre d'octets par membre (135), soit environ 11 millions de membres.

Sur les systèmes avec plus de 2 Go de mémoire adressable, l'outline peut être plus grande proportionnellement à la mémoire supplémentaire disponible.

Une fois la construction de dimension terminée, un fichier dbname.otn est enregistré dans le répertoire du cube. Le fichier .otn est utilisé comme entrée pour le processus de restructuration de l'outline, qui remplace l'ancienne outline par la nouvelle. Lors de la restructuration, deux copies de l'outline sont chargées en mémoire, l'ancienne (potentiellement vide) et la nouvelle, de sorte que la taille maximale d'une outline qui peut être restructurée dépend de la taille de l'ancienne outline.

Dans une construction de dimension, qui commence par une outline vide, une seule outline est chargée en mémoire.

Limite de pagination d'outline chargée

La mémoire requise pour une outline chargée dans Essbase lors de l'exécution ou de la restructuration est différente de celle requise pour une construction de dimension. Essbase alloue environ 60 octets par membre, plus la taille du nom de membre plus 5 octets, plus la taille de tous les noms d'alias pour le membre (jusqu'à 10 alias sont autorisés) plus 5 octets. Pour un exemple d'outline où le nom de membre moyen est de 15 caractères et où il y a un alias (de 20 caractères) par membre, la mémoire requise pour chaque membre ajouté :

60 + 15 + 5 + 20 + 5 octets = 105 octets par membre

En supposant 1,46 Go de mémoire disponible, la taille maximale d'un profil qui peut être chargé est un avec 14 millions de membres (1,46 Go/105 octets).

Les 14 millions de membres sont la somme de deux contours chargés au cours de la restructuration. Par exemple, si un profil existant compte 5 millions de membres, le nouveau profil peut compter un maximum de 9 millions de membres. Dans une construction de dimension incrémentielle, il est recommandé de créer les dimensions les plus petites en premier et les plus grandes en dernier afin de permettre une taille d'outline maximale.