The MicroStrategy Intelligence Server 9.3.0 and newer releases include a new feature called Catalog Cache. This feature is implemented in for 4-tier connections and is primarily used to support the MicroStrategy Web based Data Import, Free-Form SQL and Query Builder features. At this time, the Catalog Cache feature is not used by MicroStrategy Desktop Query Builder, Architect or Graphical Architect.
In the current release the Catalog Cache caches only table and column information. Requests for table keys, table size, table content, column cardinality or column content are always referred on to the underlying database. The Catalog Cache component is a server level component serving all projects.
Each cache entry is either a set of all the tables and their columns or only the tables, either for a specific namespace or for all namespaces. Thecache key used to lookup this information is the combination of the Database Connection ID, Database ID and the login string used for the connection. Cache entries are automatically invalidated on cache hit if the Version ID for any of the corresponding cache keys is seen to have changed, and a new cache entry is populated from the underlying database.
The Catalog Cache size can be governed by a new Intelligence Server governing parameter shown below. The governing setting is shown in MB, but the actual governing is internally implemented as a limit on the number of columns cached, with an estimate of 256 bytes of memory used for each column. If the number of cached columns increases beyond the limit, older cache entries are purged on a LRU (Least recently used) basis.
The Intelligence Server also includes additional tracing that can be used to monitor cache activity. The Catalog Content Source -> Detail Trace shows cache hits and the Catalog Server 2 -> Detail Trace shows catalog requests that hit the database.