Caching

On working in Prognoz Platform 9 caching of repository objects and data caching is implemented to speed up access to data:

  Objects caching Data caching
Dictionaries    
       Table dictionaries

       Calculated dictionaries

       Table MDM dictionaries

       Calendar dictionaries

       Composite table MDM dictionaries

Time series databases

Development environment objects

Regular reports

Cubes (all types except for calculated cube)

Maps

Data source caching in Prognoz Platform 9 is implemented by means of the in-memory mechanism that helps avoid sending request each time to get data sample from DBMS. When the in-memory mechanism is used, a special structure that saves source data is loaded to virtual memory. Further data processing (forming data slice, filtering, sorting, and so on) is executed with this structure in the virtual memory, without addressing data source. Thus, Prognoz Platform 9 response time is reduced on working with data, and user interactivity is improved.

Repository Objects Caching

On caching dictionary and time series database elements the system creates temporary copies of the object containing frequently used data and links to the used objects on the user computer.

NOTE. Dictionary and time series database element cache is stored and used within the same repository connection.

Caching of dictionaries and time series database is intelligent and available for a number of users if they have similar access permissions and parameter values. It means that several copies of one object can be cached at a time (for example, for various parameter values).

On caching of development environment objects, file cache is used, which is created in the folder which is set by the OS (For details see the Assemblies Caching When Compiling Forms and Units knowledge base article). Also, on caching of development environment objects the Cache Assemblies on the Local Drive Only checkbox is considered, that is specified in repository parameters.

On caching of regular report instances of an object are created, which are opened with certain parameter values. On opening an object with some parameters the cache is checked for availability of a record corresponding to these parameters. If such a record is found, cached object version is extracted and opened. If no record is found for the specified parameters, the last object version is opened from the repository. All the objects, on which this object depends, are also opened. Instance cache of the regular report is stored in repository base. Caching is managed in the Object Cache dialog box.

To speed up map rendering in reports, maps are cached. On opening the report, it is checked whether its cache contains a map. If the map is found in cache, the cached map will be shown in the report. If there is no map in cache, the repository map opens, and cache will be refreshed. Cache with maps is a common cache for all opened repositories. When all repositories are closed, map cache is cleared.

On choosing extra large icons to display objects in the object navigator, preview icons are cached. Icon caching is used only for reports created by means of the Dashboards, Analytical Queries (OLAP), Reports, Time Series Analysis tools.

Data Caching

In Prognoz Platform 9, data caching of cubes and time series databases is based on the mechanism of data storing in file cache. Files containing the data that is currently being processed are mapped to the computer's memory and used by the Prognoz Platform 9 tools. In case of out-of-memory state, data loading/downloading is page-by-page. Cache provides incremental data processing where if some cells are modified, then only related with those cells data is recalculated and not the whole cube. In the desktop application, the cache management of separate objects is performed on the Cache tab of the Object Properties dialog box. BI server will apply data caching for objects which cache was enabled in the desktop application. By default cache is created in the following forlders:

The caching mechanism settings are changed in the Settings.xml file or in registry. Settings are determined on client workstations if the desktop application is used, or at BI server.

Cache of any object can be updated on schedule.

NOTE. Work with cache is available only under one running Prognoz Platform instance.

Constraints

The current implementation has the following constraints when working with data caching:

Caching Mechanism Applied in Prognoz Platform Versions Earlier Than 9.0

To keep compatibility with earlier Prognoz Platform versions, it is also possible to enable the old caching mechanism. To do this, in the registry or in the Settings.xml file set the UseInMem parameter to False. When the old caching mechanism is enabled, a data matrix is created and saved in binary form in the repository database. This cache is common for all users and can be cleared by any user. Cache of single objects is controlled on the Cache tab of the Object Properties dialog box. Standard cube cash can be updated on schedule.

NOTE. Sometimes forced cache clearing is required to request updated object data.

Features of the old cache:

Setting used for the old caching mechanism:

Registry branch Parameters
[HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>"], where <n> - Prognoz Platform version, for example 9.0.
  • CachefilePath (String). Path to the folder, which stores cached versions of development environment objects and files with cached table binary data. An additional folder hierarchy will be automatically created within the specified folder:
    AsmCache<n>\Mod\<Repository ID>\<assembly number>\ - a personal folder for each repository. It contains additional folders, in which file cache of development environment objects is stored.
[HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\Orcl8"], where <n> - Prognoz Platform version, for example 9.0.
  • BlobMaxBufferSize (DWORD). Size of the buffer used to work with data stored in binary type fields. Buffer size is specified in bytes. This setting is used in working with DBMS based on Oracle 9.x\10.x\11.x.
[HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\Dimensions"], where <n> - Prognoz Platform version, for example 9.0.
  • Cache (DWORD). Indicates whether dimension elements cache used in the virtual memory is divided between all user sessions. It is used for dimensions, which do not have activated setting of control of element permissions. Available values: 1 - use cache in the virtual memory.
[HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\CacheKeeper"], where <n> - Prognoz Platform version, for example 9.0.
  • NotCachedInFile. Attribute of any type; if this attribute is present, binary data is not cached on the local drive.

NOTE. On installing BI-server or Security Server on the IIS server by default application pool will be started using the Network Service login account; on installing on the Apache web server - the Apache web server itself is working with the Local System login account by default. In order to provide the use of the specified checkboxes in the table during the web application processing, records should be added to the register using corresponding login account. To do it, the PsExec application included to the Windows Sysinternals system package can be used. To start, execute the psexec -i -u "nt authority\network service" cmd.exe command, the Windows command line using the specified login account will be launched. Next start register editor in command line using the regedit command and create required checkboxes.

Caching In Web Application

On Prognoz Platform 9 BI server working, extraction and storage of data required for web application running is made in the BI server memory. The system can be also expanded by introducing additional (more performing) BI servers with function of data extracting and caching from repository base. BI server with web application will request those BI servers and get the flow with required data without additional request of DBMS.

In the registry or in the settings.xml it is required to fill in the Service section. This section contains addresses of removed BI servers and repository settings for which the specified data caching scheme is applied.

NOTE. The specified caching mode is relevant only for the subjects for which caching is enabled in repository.

Cache Clearing

Cache clearing allows avoiding the use of potentially outdated data.

NOTE. Cache clearing is available only in the desktop application.

To clear dictionary and time series database cache, select the Clear Cache item in the Tools menu in the object navigator.

To clear development environment object cache, select the Repository > Clear Assembly Cache item of security manager.

To clear regular report cache, click the Clear button in the Object Cache dialog box.

To clear data cache of different objects, click the Clear Cache item on the Cache tab of the Object properties window.

To clear repository cache, select the Clear Cache item in the Tools main menu of the object navigator.

See also:

Navigator Interface | Settings of Caching