Cache services

The cache services Snow Software MongoDB Service and Snow Software SLM Cache Server Service are used for reducing the loading times and improve the performance of the reports in Snow License Manager.

Description

Some reports can take a long time to run due to large databases. Use the cache reports service to run the reports from a cache instead of from the live database. This will enable you to run reports faster.

When caching of reports is enabled, you have two options:

  • Show reports with the most recent data from the live database. These reports might take a long time to run.

  • Show cached reports. These reports will run faster but will have older data.

To enable caching in Snow License Manager, see Reports cache and Show report.

The cache server stores aggregated report results in MongoDB service. Cache Server Service manages all the requests related to this data.

Prerequisites

  • Snow License Manager 9.13 or later versions.

  • If the application server for Snow License Manager is using Windows Server 2012 (all editions), all Windows updates must be installed.

Known limitations

The cache report service has the following known limitations:

  • Grouping is disabled for cached reports due to asp.net devexpress limitation.

  • Files per computer report can not be cached.

    By default, the report fetches results for five computers as initial load and users need to enter criterion for what they are looking for. The cache server has access only to cached data, that is for the five computers, not the whole database. It does not make sense to fill the report for five random computers when there are thousands of other computers.

  • Clean Inventory Data Contract (CIDC) report can not be cached because it is an excel export only.

  • Some criteria in some reports require access to columns in tables different from those used in the report output. When these type of criteria are added, the Show cached report button will be disabled in the Reports view, because the criteria are not supported for caching. These reports have at least one unsupported criteria by default:

    • Computers without antivirus software installed

    • Invalid license assignments

    • Unassigned licenses

    • All Oracle databases for which Oracle has ended Extended Support

    • All Oracle databases for which Oracle has ended Premier Support

    • Applications nearing End of Extended Support

    • Applications nearing End of Life

    • Applications nearing End of Support

  • Some enumeration columns are stored with their key value rather than text, for example, metric. In cached data, these types of columns are not sorted alphabetically, but according to their key values.

    Example 32.

    Values for metric will be sorted as:

    1. None

    2. Installation

    3. Custom Compare Value

    4. ...



  • Cached reports can not be exported. Use scheduled reports to export data from the live database.

  • Custom reports can not be cached.

Characteristics

The database tables Report caching options, Report caching dependencies, Report caching data state, and Report query dependencies keep information related to report caching.

Report caching options table

The table dbo.tblReportCachingOptions keeps the information about which reports are opt-in caching for which user.

Column name

Data type

Description

Id

PK, int, not null

Row identity column

ReportID

uniqueidentifier, null

Stockreport Id

CID

int, null

Customer Id

TenantID

uniqueidentifier, null

Tenant Id for SnaaS

UserID

int, null

System User Id

Enabled

bit, null

Is caching enabled

ChangedDate

datetime, null

Update date

ChangedBy

nvarchar(200), null

Update user

Report caching dependencies table

The table dbo.tblReportCachingDependencies keeps the information about if any other ongoing operations are blocking to start the caching or not.

Column name

Data type

Description

Id

PK, int, not null

Row identity column

IsCachingRunning

bit, null

Caching operation going on

IsInvalidationRunning

bit, null

Invalidation operation going on

UpdatedDate

datetime, null

Update date

Report caching data state table

The table dbo.tblReportCachingDataState keeps the information about caching date and state hash to identify data changes and the delta in reports.

Column name

Data type

Description

Id

PK, int, not null

Row identity column

ReportID

uniqueidentifier, not null

Stockreport Id

CID

int, not null

Customer Id

UserID

int, not null

System User Id

SqlQuery

nvarchar(max), not null

Report stored procedure

StateHash

int, null

Calculated hash by checking report tables and content

IsCachingCompleted

bit, not null

Flag showing if caching has been completed during caching cycle (eg. weekly)

CachedDate

datetime, null

Caching date

Report query dependencies table

The table dbo.tblReportQueryDependencies keeps a mapping table for report sp and content tables.

Column name

Data type

Description

SqlQuery

nvarchar(max)

Report stored procedure

DependencyName

nvarchar(256)

Table name