Installing InMemory MOLAP Server

InMemory MOLAP server uses the InMemory MOLAP technology and provides data loading from sources, local data storage, quick multi-user access, and high-performance data processing.

For details about the InMemory MOLAP technology, see the Data Access Using InMemory MOLAP article.

The system configuration using InMemory MOLAP server:

The scheme displays the configuration that covers only interaction between BI server and InMemory MOLAP servers, while interaction between the rest of the system configuration elements remains unchanged.

NOTE. One can access the InMemory MOLAP server directly without the use of BI server. To do this, fill in the serviceUrl field in the config.json file and specify InMemory MOLAP server web service URL. Take into account that the version history, attachments, and comments will not be supported.

Installing Server

The InMemory MOLAP server is installed identically to BI server using the distribution file included in the Foresight Analytics Platform software package:

Setting Up Server

To set up the server, follow the steps:

  1. Determine server general settings that are identical to BI server settings in the settings.xml file or in the system registry.

  2. Enable the use of InMemory MOLAP on the server in the settings.xml file or in the system registry. To do this, specify the CacheType parameter in the InMem section.

  3. Set up caching. The setting depends on the specified caching method:

To use data caching with file cache:

  1. Set up each BI server by specifying the following information in the Service section in the settings.xml file or in the system registry:

    1. Specify address and port of InMemory MOLAP server for the address parameter in the Epts subsection.

    2. Specify repository identifier for the Name parameter and unique name of the InMemory MOLAP server specified in the Epts subsection, for the endpoint parameter in the Mbs subsection.

    3. Specify keys of repository cubes or repository cube shortcuts, working with which will use caching, for the Key parameter and unique name of the InMemory MOLAP server specified in the Epts subsection, for the endpoint parameter in the Cubes subsection in the Mbs subsection.

  1. Set up InMemory MOLAP server by specifying the following in the InMem section of the settings.xml file or in the system registry:

    1. Specify value of file for the CacheType parameter.

    2. Specify full path to the folder with cache files as a value of the DataDir parameter.

    3. Specify advanced settings of cache to optimize the use of cache data or to enable additional data handling methods.

NOTE. If shared access of InMemory MOLAP servers to shared data is used, set the SharedAccess parameter to true and take into account that the folder with files specified in the DataDir parameter must be a network resource that is common for all MOLAP servers.

  1. Use the multidimensional cube data caching management console to set up caching of specific cubes.

To use global cache:

  1. Specify the global value for the CacheType string parameter in the InMem section of the settings.xml file or in the system registry.

  1. Use the multidimensional cube data caching management console to set up caching.

NOTE. If the section, subsection, or parameters are absent, they must be created manually.

Advanced Settings

When file cache is being used, that is, when the CacheType parameter is set to file, one can use advanced settings to optimize the use of cache data or to enable the use of additional data handling methods.

The settings can be divided into the settings that:

Advanced general settings for server:

Parameters

Description

BackupDir

Location of backup file. To save the backup file, make sure to create a folder where this file will be located. The parameter is used together with the BackupType and BackupTagTemplate parameters.

BackupTagTemplate

Backup file name template. The parameter is used together with the BackupType and BackupDir parameters.

BackupType

Backup file extension. To use, set the parameter to tzst. The parameter is used together with the BackupTagTemplate and BackupDir parameters.

CacheDims

Indicates whether InMemory MOLAP is used to cache dictionary data. To cache dictionaries using file cache, create a parameter and set it to true.

CacheLimitMb

Disk space limit allocated for storing variable data cache aggregated by selection. The value is specified in megabytes. The default parameter is not set. If the parameter is set, when the limit exceeds, outdated or unused cache data will be deleted.

NOTE. The limit affects only aggregation and rollup caches calculated by selection. The rest of the cached data will not be deleted even if cache size exceeds the specified limit.

DataDir

The path to the folder with stored cache files. If the parameter is not set, files are saved to the folder by default:

  • C:\ProgramData\Foresight\Foresight Analytics Platform\inmem_data\ for Windows OS.

  • /var/tmp/inmem_data for Linux OS.

The folder with files must be a network resource that is common for all MOLAP servers if shared access is used.

NOTE. The operating system user who will work with cached data must have read and write permissions for the specified folder.

FixAggrPrecision

Disable rounding mode during aggregation. Available values:

  • true. Default value. Rounding of intermediate results for values of the double type is enabled.

  • false. Rounding of intermediate results is disabled.

The file cache assumes provides for intermediate rounding of numbers of the double type to avoid the loss of result precision during aggregation. The specified rounding precision is five decimal places, which is sufficient for use in financial applications.

LogDebug

Logging of operations executed with file cache. Available values:

  • true. Operation logging is enabled.

  • false. Default value. Operation logging is disabled.

MemLimitMb

RAM limit in megabytes used by file cache. If the parameter is not set, it is set up automatically.

PreloadData

Attribute of data preload from cache to memory on the first cube request.

If the parameter is set to True, then on the first request to any cached cube its cache is scanned for full loading into RAM. As a result, the first cube use will be slow and all the following will be significantly quicker. It can be used to implement data preloading.

The parameter is set to false by default.

NOTE. Preloading is executed till the RAM size or the MemLimitMb parameter value are not exceeded.

SharedAccess Indicates whether cached data is used by several InMemory MOLAP servers at the same time. It enables the user to create a cluster with cache. To use, set the parameter to true.

The parameter is set to False by default, cached data is not used simultaneously by several users.

Threads The number of threads, in which parallel data processing is executed on aggregation. By default, the number of threads is equal to the number of processor logic cores.

NOTE. All parameters should be of string type; values should be entered in lower case.

Advanced settings for server and cube:

Parameters Description
AdditiveCache Indicates whether additive cache is used. Available values:
  • true. Default value. Additive cache is enabled for cubes with controlling dimensions and alternative hierarchy.

  • false. Additive cache is disabled.

  • force. Additive cache is enabled.

AggrType The complex parameter that determines aggregation type. Available values:
  • request. All aggregation types are force calculated in memory, aggregated values are not cached.

  • full. Default value. Full stored aggregation is used.

  • levels. Partially stored aggregation mode, in which the number of stored and skipped layers is equal to 1. It corresponds with the StoredLevels=1;1 parameter.

  • levels_semi. Partially stored aggregation mode, in which the number of stored and skipped layers is equal to 1, and cells belong to the aggregate level. It corresponds with the StoredLevels=1;1 and StoredSemiAggrs=true parameters.

AllowAssoc Indicates whether indexing information can be generated to execute association data analysis. Available values:
  • true. Association analysis data is collected.

  • false. Default value. Association analysis data is not collected.

If association analysis data collection is not enabled, and analysis requests are executed, data is collected at first use, which may cause delays.

Columnar

Indicates whether columnar data view is used in rollups. Available values:

  • true. Columnar data view is enabled.

  • false. Default value. Columnar data view is disabled.

Columnar data view speeds up rollup work.

ConvType Rollup mode, that is, aggregated data that is calculated in reports during aggregation of fixed dimensions and saved in cache to speed up building of reports.  Available values:
  • simple. Creating of rollups by sent selection.

  • extend. Creating a rollup by full selection of non-fixed elements.

  • deny. Default value. Rollups are denied.

If source data volume is too large, the first caching of aggregated data may take a long time and considerably increase the disk space used by cache.
DefaultAggr Indicates whether automatic aggregation caching is allowed in the default output during cube data caching. Available values:
  • true. Default value. Aggregates are cached automatically.

  • false. Aggregates are not cached automatically. Stored aggregates are calculated at first use.

DimDupes

Indicates whether dimension element duplicates are supported. Available values:

  • true. Default value. Duplicates are supported.

  • false. Duplicates are not supported.

Duplicates are elements that have equal keys but different parents in the hierarchy.

DynAggrAttr

Use of dynamic aggregation. To use this aggregation type, specify identifier of the attribute that determines additional aggregation operations. If the setting is determined for a server, the attribute must be equal for all dictionaries.

InMemAggr Use of high-performance MOLAP aggregation for a non-cached cube. To use this aggregation type, list cube identifiers via a semicolon or use the all value for all cubes.

PartialRestricted

Indicates whether it is prohibited to get data from SQL source for additive cache outside the selection. Available values:

  • true. Data is not requested.

  • false. Default value. Data is requested.

Denial activation is assumed only if there is no data outside the selection.

SaveInCache

Indicates whether cube data is saved only in cache. Available values:

  • true. Data is saved only in cache.

  • false. Default value. Data is saved in cache and DBMS.

StoredLevels

Partially stored aggregation mode. Available values:

  • N. Number of lower stored layers.

  • N;M. Alternating the number of stored layers - N, and skipped layers - M.

When the AggrType attribute is set to stored or stored_semi, the value StoredLevels=1;1 is set if it not set explicitly.

StoredSemiAggrs

Indicates whether to include the cells partially consisting by coordinates of leaf and level elements to the aggregate level. Available values:

  • true. Cells belong to the aggregate level.

  • false. Default value. Cells do not belong to the aggregate level.

Enabling the parameter speeds up aggregation almost to the full storage but significantly increases the volume of stored aggregates.

The parameter is used together with the StoredLevels parameter.

When the AggrType attribute is set to stored_semi, the value StoredSemiAggrs=true is set if it is not set explicitly.

See also:

Installing and Setting Up Foresight Analytics Platform