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.
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.
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:
Windows. C:\ProgramData\Foresight\Prognoz Platform\inmem_data\.
Linux. /var/tmp/inmem_data.
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.
The current implementation has the following constraints when working with data caching:
Cache is not used, if working with time series database is executed in the Analytical Queries (OLAP) tool, and the Attributes display version is enabled.
Cache created for time series databases will not be applied on working in the Time Series Analysis tool.
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:
Cache is stored by one repository object which is invisible for the user.
Cache is a child element of the source, that is why if the source is removed, its cache object is removed too.
One source can have only one cache.
Cache should be updated manually on data changing in the source. For cubes, cash can be updated on schedule using task scheduler.
Binary data stored in tables is cached on the local drive, similarly to development environment objects. A folder to store files with binary data is located in the user profile next to the folder specified for development environment object cache section. If required, the folder can be changed, for details see below the Settings Management subsection.
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. |
|
| [HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\Orcl8"], where <n> - Prognoz Platform version, for example 9.0. |
|
| [HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\Dimensions"], where <n> - Prognoz Platform version, for example 9.0. |
|
| [HKEY_CURRENT_USER\Software\Foresight\Prognoz Platform\<n>\CacheKeeper"], where <n> - Prognoz Platform version, for example 9.0. |
|
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.
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 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: