<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1005900&amp;fmt=gif">

Insights

MicroStrategy – Caching vs Intelligent Cubes

MicroStrategy is a Business Intelligence tool used by a range of companies in order to facilitate better business decisions through reporting, analysis and monitoring. One of our clients to whom we provide data analysis services uses MicroStrategy. Because of this, we were required to use MicroStrategy in order to deliver the reports and business insight. Having had first-hand experience of using MicroStrategy, we would like to share information on related business intelligence topics which will hopefully serve as a useful resource for interested readers. Today, we look at Intelligent Cubes.

Caching your reports

In MicroStrategy, you are provided a couple ways to cache your reports. The first is to enable report caching at the project level. This means any report you create will have caching enabled by default. Alternatively, you can enable caching on selected reports.

Another way to use caching in MicroStrategy is through Intelligent Cubes. Intelligent Cubes are a more aggressive form of caching and allow multiple reports to be stored in the Cube (which is effectively a large cached report stored in memory on the Intelligence Server).

This means that when you execute a report from the Cube, its SQL has already been executed and the results stored in the Cube. To the end user, this detail is irrelevant. The result is an almost instant report execution regardless of report size.

Ok, so presume you’ve now decided to cache, the next question might be whether to use standard report caching or an Intelligent Cube?

Standard report caching vs Intelligent Cube

One of the key differences between the two is that an Intelligent Cube can be created generically in order to serve as a cache for a number of different reports.

For example, consider you have a prompted report which details sales figures for your stores in different regions of London. If you use traditional caching and execute the report showing sales figures in the South of London, those results will be stored in a single cache file. If you now wanted to show Sales figures in the North of London, you would have to create a separate cached result set.

By contrast, if you were to use an Intelligent Cube, you could refer to the same Cube since your LondonRegion attribute is stored in the Cube. This means that whatever values the user selects for LondonRegion whether it be North, South, East or West, the reports results set will be read from memory in the same Cube. Of course if data within your report changes then you will need to refresh your caches whichever caching strategy you have chosen to implement.

Conclusion 

To conclude, MicroStrategy offers the user multiple ways to cache their reports. Before deciding which caching strategy to use, it is important to take into consideration the types of reports which will be cached, whether there are many variations of the same report (which would be better served by a Cube) and how often report data is updated before ultimately deciding which caching strategy is right for you.

Download the Performance Testing Primer