An Essbase outline has a number of dimensions. The number of dimensions can range in
quantity and size, but each dimension is identified as a dense or sparse
dimension.
As we understood the concept of Dense and Sparse in our last
discussion, let’s begin with the cocept of data blocks now.
To understand this, let’s carry forward our hierarchy of 5
dimensions in a test application in my previous post..
We have 3 dense and 2 sparse dimensions each with 3 stored
members.
So let’s begin:
Number of Existing Blocks = (potential number of blocks) *
estimated density= 9
Block Size = Dense Stored * Dense Stored * Dense Stored * 8
bytes = 3*3*3 *8 = 216
Potential number of blocks = Sparse Stored * Sparse Stored =
9
If all dimensions are assigned as Dense,
Number of Existing Blocks = (potential number of blocks) *
estimated density= 1
Block Size = Dense Stored * Dense Stored * Dense Stored * 8
bytes = 3*3*3*3*3 *8 = 1944
Potential number of blocks = Sparse Stored * Sparse Stored =
1
So if all members are marked as Dense, we just have one data
block but the block size is still a multiple of dense member combinations i.e.
So to conclude:
“The potential, expanded (uncompressed) size of each data block that is based on the number of cells in a block and the number of bytes used for each cell.
The number of cells is based on the number of stored members in the dense dimensions. Essbase uses eight bytes to store each intersecting value in a block.”
If all dimensions are assigned as Sparse,
Number of Existing Blocks = potential blks * estimated
density= 18
Block Size = Dense Stored * Dense Stored * Dense Stored * 8
bytes = 8 bytes
Potential number of blocks = Sparse Stored * Sparse Stored =
3*3*3*3*3 = 243
Number of Existing Blocks is basically only those sparse
dimensions to which we have loaded data, which in our case is “A” “C” “E” each
having 2 members so a total of 18 combinations are there which have data at
upper level blocks.
So to conclude:
"Essbase creates a data block for each unique combination
of sparse standard dimension members (providing that at least one data value
exists for the sparse dimension member combination). The data block represents
all the dense dimension members for its combination of sparse dimension
members. "
So here we understand the difference of Number of Existing
Blocks, Block Size and Potential number of Blocks and how a data block is
created.
Conclusions:
- - A Data block constitutes of all dense dimensions members for sparse combinations
- - Number of existing data blocks clearly depends on the number of upper level blocks created by sparse entries.
- - Potential number of blocks is the combination of all the sparse dimension stored members.
Hope this post enlightens the newbies on the concepts of Data Blocks a little...
Cheers!
Anvi