MicroStrategy - Report Cache Flow
A report cache is a data store which holds the information that was recently requested from the data source to be used in a report. Whenever a report is executed for the first time, a cache is created. The report’s cache contains the results that were fetched from the database, files, or web sources.
Advantages of Report Cache
Following are some of the advantages we get by using MicroStrategy caching feature.
A cached report returns the results faster as the data is already available inside MicroStrategy software.
The execution time involving any calculations and derived metrics is quicker as the cached reports do not need to run against the data source.
In a cache, results from the data source are stored and can be used by new job requests that require the same data.
Types of Cache
There are three types of cache used in MicroStrategy.
Report Caches − These are the results which are pre-calculated and pre-processed. They are stored in the memory on the Intelligence Server machine or on the disk. They can be retrieved more quickly than repeatedly re-executing the request against the data warehouse.
Element Caches − These are frequently used table elements, which are stored in the memory on the Intelligence Server machine. They can be retrieved quickly as the users browse through displays of attribute elements.
Object Caches − These are metadata objects stored in the memory on the Intelligence Server, so that they can be retrieved quickly on subsequent requests.
Enabling the Cach
Cache can be enabled, both at the report level and at the project level. This is done using the project configuration editor.
Enabling at the Project Level
If the cache is enabled at the project level then, all the reports within the project will use the caching feature.
Enabling at the Report Level
On enabling at the report level, only specific reports will use the cache. Even if the reporting is disabled at the project level, it will function at the report level, when enabled at the report level.
The cached data is not always the most up-to-date, as it has not been run through the data source since the cache was created. This can be avoided by deleting the report’s cache before executing the report. This forces the report to be executed through the data source again, thus returning the most recent data from the data source. However, it needs administrative privileges to delete a report cache.