MicroStrategy ONE

Cache Matching Algorithm

When a user requests a report, or a document from Web, cache keys are used to determine whether a cache can be used to satisfy the request. If the cache keys in the request match the ones in the result cache, the cached report or document results are used. The matching process takes several steps that involve a number of cache keys, and each step is explained in detail below. If at any step, the matching is not successful, then the cache is not used and the request executes against the data warehouse.

Step 1: Check the IDs

To check whether the requested report/document and the cached report/document are the same, Intelligence Server compares the ID and Version ID of the two. If they match, the process continues to Step 2.

Alternately, Intelligence Server checks the Template ID, Template Version ID, Filter ID, and Filter Version ID in the requested report/document against the ones in the cache. If all of them match, the process continues to Step 2.

If you are not using MicroStrategy OLAP Services, any modification to a report, even a simple formatting change or an Access Control List (ACL) modification, changes the Template Version ID and invalidates the report cache. With MicroStrategy OLAP Services, the cache is invalidated only if the contents of the Report Objects pane change. For more information about OLAP Services, see Intelligent Cubes.

Step 2: Check the Personalization Impact

If the report or document contains prompts, Intelligence Server checks the prompt answers selected for the report. Different prompt answers change the content of the report; therefore, the cache is not used if the prompt answers in the report request are not the same as the ones in the report cache. Each set of distinct prompt answers creates a distinct cache.

Step 3: Check the Security Impact

Intelligence Server makes sure that users with different security filters cannot access the same cache. Intelligence Server compares the Security ID and Security Version ID of all the security filters applied to the user in the request, including those inherited from the groups to which they belong, with the security profile of the user who originated the cache.

Step 4: Check the Modification Impact

Intelligence Server does not use a cache if an object in the report/document changes. To check this, Intelligence Server compares the IDs and Version IDs of all application objects used in the requested report/document with the ones used in the cached report/document. If any of these IDs are different, the existing cache is automatically invalidated.

Step 5: Check the Data Language

Intelligence Server makes sure a cache is not used if the user running the report is using a different language than the user who created the cache. Each different language creates a different cache.

Step 6: Check the Database Security Impact (Optional)

You may find it necessary to add optional criteria, listed below, to the cache matching process. These criteria are useful if database security view and connection mapping are used to ensure that users with different security profiles, who see different data from the data warehouse, cannot access the same cache. For information about connection mapping, see Controlling Access to the Database: Connection Mappings).

  • User ID: To match caches by the global unique identifier (GUID) of the user requesting the cache, in the Caching: Result Caches: Creation category in the Project Configuration Editor, select the Create caches per user check box.
  • Database login: To match caches by the GUID of the database login assigned to the user via a connection mapping, in the Caching: Result Caches: Creation category in the Project Configuration Editor, select the Create caches per database login check box.

    This option is especially useful if database warehouse authentication is used. For more information, see Implement Database Warehouse Authentication.

  • Database connection: To match caches by the GUID of the database connection assigned to the user via a connection mapping, in the Caching: Result Caches: Creation category in the Project Configuration Editor, select the Create caches per database connection check box.

Step 7: Check Additional Criteria for Documents

Document caches have additional criteria that must match before a cache can be used:

  • The Export Option (All or Current Page) and Locale of the document must match the cache.
  • The selector and group-by options used in the document must match those used in the cache.
  • The format of the document (PDF, Excel, HTML, or XML/Flash) must match the format of the cache.
  • In Excel, the document and cache must both be either enabled or disabled for use in MicroStrategy Office.

    This information applies to the legacy MicroStrategy Office add-in, the add‑in for Microsoft Office applications which is no longer actively developed.

    It was substituted with a new add‑in, MicroStrategy for Office, which supports Office 365 applications. The initial version does not yet have all the functionalities of the previous add‑in.

    If you are using MicroStrategy 2021 Update 2 or a later version, the legacy MicroStrategy Office add-in cannot be installed from Web.;

    For more information, see the MicroStrategy for Office page in the Readme and the MicroStrategy for Office Help.

  • In XML/Flash, the mode of the document (View, Interactive, Editable, Flash) must match the mode of the cache.
  • In XML/Flash, the Web preferences of the user executing the document must match the Web preferences of the user who created the cache.