DATA CACHE

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.