Essbase keeps data in blocks (data blocks) stored in «Data Files».
The block is made up of cells:
The block size is calculated by multiplying the number of cells in a block by the size of each cell (8 bytes):
Let’s see an example: Let’s suppose a database with the following dense dimensions:
The number of cells in the block:
But if the database uses a compression system (by default it uses «bitmap encoding» compression) the size of the compressed block could be roughly estimated:
For example, if in the previous case the average density of the block is 3%, the size of the compressed block would be:
The «Data Files» files are named «essxxxxx.pag» and are sequential:
Each file has a maximum size of 2.00 GB; when that size is reached the next file is generated.
The size of all the «Data Files» in the database can be consulted in «Database properties» / «Storage».
In an approximate way it could be calculated taking into account the following parameters that can be consulted in «Database properties» / «Statistics»:
(considering that the «Bitmap encoding» compression method is used):
The formula to apply would be (bytes):
For example: If in the previous example we assume that the database currently has 22,000 blocks:
2.- Data cache
Essbase stores the data blocks in the disk and also stores part of them in the “Data Cache” (depending on the size of the cache).
The «Data Cache» is a buffer in memory that stores uncompressed «Data Blocks». It intervenes in charges, in calculations and in consultations.
If a block is required (in a query or in a calculation) Essbase starts by looking for it in the “Data Cache” and if it finds it, it accesses it immediately; If it cannot find it, it searches the Index for the block number and uses that reference to go to the disk and locate it (this process is slower than if it is located in the “Data Cache”).
Cache size
This cache needs to store a limited % of the data in the database.
According to some analysts, this way of calculating the optimal size of the “Data Cache” presents a problem: the data block is compressed in the “essxxxx.pag” files while in the “Data Cache” it is un compressed: the size ratio between a compressed and a uncompressed block varies from one database to another, and from one moment to the next (as the database is loaded).
In any case, you have to check the hit ratio of the «Data Cache» to see how optimally the cache is working.
If the size of the “Data Cache” is not enough for the operation that Essbase performs, it will warn with the message “Data Cache is full; Please increase the Data Cache of the database ”. If after successive increases the message continues to appear, it would be necessary to analyze whether it is a problem of the structure of the base (number of blocks, size of the blocks …), or of the calculation, which requires a restructuring.
Cache statistics
The «Data Cache» hit rate means Essbase’s success rate in locating the blocks in the «Data Cache» without having to retrieve the block from disk.
This hit ratio should be as high as possible: a ratio of 25% -35% can be considered acceptable.
Español
1.- Tamaño de los datos
Essbase guarda los datos en bloques (data blocks) almacenados en archivos “Data Files”.
El bloque está formado por celdas:
El tamaño del bloque se calcula multiplicando el número de celdas que tiene un bloque por el tamaño de cada celda (8 bytes):
Veamos un ejemplo: Supongamos una base de datos con las siguientes dimensiones densas:
El número de celdas que tiene un bloque sería:
Tamaño del bloque:
Pero si la base de datos utiliza un sistema de compresión (por defecto utiliza la compresión “codificación de mapa de bits”) se podría estimar de forma aproximada el tamaño del bloque comprimido:
Por ejemplo, si en el caso anterior la densidad media del bloque es del 3%, el tamaño del bloque comprimido sería:
Los archivos “Data Files” están nombrados como “essxxxxx.pag” y son secuenciales:
Cada archivo tiene un tamaño máximo de 2,00 GB; cuando se alcanza ese tamaño se genera el siguiente archivo.
El tamaño de todos los “Data Files” de la base de datos se puede consultar en “Propiedades de la base de datos“ / “Almacenamiento”.
De forma aproximada se podría calcular teniendo en cuenta los siguientes parámetros que se pueden consultar en “Propiedades de la base de datos” / “Estadísticas”:
(considerando que se utiliza el método de compresión “Codificación de mapa de bits”):
La fórmula a aplicar sería (bytes):
Por ejemplo: Si en el ejemplo anterior suponemos que la base de datos tiene actualmente 22.000 bloques:
2.- Data cache
Essbase guarda los bloques de datos en el disco y, una parte de ellos, también los guarda en el “Data Cache” (dependiendo del tamaño del caché).
El “Data Cache” es un buffer en la memoria que guarda “Data Blocks” descomprimidos. Interviene en cargas, en cálculos y en consultas.
Si un bloque es requerido (en una consulta o en un cálculo) Essbase comienza por buscarlo en el “Data Cache” y si lo encuentra accede inmediatamente; si no lo encuentra, busca en el Índex por el número del bloque y utiliza esa referencia para ir al disco y localizarlo (ese proceso es más lento que si lo localiza en el “Data Cache”).
3.- Tamaño del cache
Este caché necesita almacenar un % limitado de los datos de la base de datos.
Según algunos analistas esta forma de calcular el tamaño óptimo del “Data Cache” presenta un problema: el bloque de datos se encuentra en los ficheros “essxxxx.pag” comprimidos mientras que en el “Data Cache” está descomprimido: la relación de tamaño entre un bloque comprimido y uno descomprimido varía de una base a otra, y de un momento a otro (según se va cargando la base).
En todo caso hay que consultar el hit ratio del “Data Cache” para ver cómo de óptimo está funcionando la caché.
Si el tamaño del “Data Cache” no es suficiente para la operación que realiza Essbase, este avisa con el mensaje “Data Cache está lleno; por favor incrementa el Data Cache de la base de datos”. Si tras sucesivos incrementos continúa apareciendo el mensaje habría que analizar si es un problema de la estructura de la base (número de bloques, tamaño de los bloques…), o del cálculo, que exija una reestructuración.
Estadísticas del caché:
El hit ratio del “Data Cache” significa el ratio de éxito de Essbase en localizar los bloques en el “Data Cache” sin tener que recuperar el bloque del disco.
Este hit ratio debería ser lo más alto posible: un ratio del 25%-35% se puede considerar aceptable.