Essbase allows you to choose whether data blocks that are stored on disk are compressed, as well as which compression scheme to use. When data compression is enabled, Essbase compresses data blocks when it writes them out to disk.
Types of data compression:
- Bitmap compression ( default):
Essbase stores only non-missing values and uses a bitmapping scheme. A bitmap uses one bit for each cell in the data block, whether the cell value is missing or non-missing. When a data block is not compressed, Essbase uses 8 bytes to store every non-missing cell. In most cases, bitmap compression conserves disk space more efficiently. However, much depends on the configuration of the data.
- Run-length encoding (RLE):
Essbase compresses repetitive, consecutive values –any value that repeats three or more times consecutively, including zeros and #MISSING values. Each data value that is repeated three or more times uses 8 bytes plus a 16 byte repetition factor.
- zlib compression:
Essbase builds a data dictionary based on the actual data being compressed. This method is used in packages like PNG, Zip, and gzip. Generally, the more dense or heterogeneous the data is, the better zlib will compress it in comparison to bitmap or RLE compression. If your essbase is 90% dense, you may use ZLIB for the compression method.
- Index Value Pair compression:
It is selected automatically by the Essbase system. Essbase applies this compression if the block density is less than 3%. Index Value Pair addresses compression on databases with larger block sizes, where the blocks are highly sparse. zlib does not use this. No compression.