Document toolboxDocument toolbox

Semantic Model: kyvos.query.cuboidcache.compression

Description:

This property specifies the compression status of cached cuboid blocks.

Values and behavior:

  • FALSE - Cached cuboid blocks are uncompressed.

  • TRUE - Cached cuboid blocks are compressed.

Default value:

FALSE

Scope:

Semantic Model: If the property is set on a semantic model, then the value will override the connection level value for that semantic model.

Comes into effect:

This will come into effect from the next browsing instance when cuboids are cached in memory. This property does not require a semantic model reprocess.

Dependencies and related properties:

Recommendation:

  • If this property is FALSE, then uncompressed blocks of a cuboid are stored in the cache. So it will take up more memory, and fewer blocks can be cached. 

  • If this property is TRUE, then the cuboid blocks will be compressed and then stored in the cache. More blocks will be cached. However, since the blocks will need decompression before they can be accessed, the query execution time will increase.

  • In the query engine log files, there are two keywords to search for the read processes.

    • readThroughDisk - represents the number of Disk Reads.

    • IOStats - represents the number of seconds for the read.

Set this property to TRUE, if too many reads are detected, or the read time is high compared to the desired query time.

All compressed cuboids in the cache are decompressed while serving a query. A single cuboid block may be accessed multiple times for a single request. To avoid decompressing cuboids multiple times, a decompressed cuboid block is kept in memory for the current request.

The number of decompressed cuboid blocks that can be kept in memory on the query engine for a single request is determined by the amount of available memory for each cuboid reader thread. This is called Look Ahead Capacity or LA Capacity.

The LA Capacity is calculated with the following properties.

  1. Xmx memory of query engine process (KyvosManager – Java Options)

  2. Number of THRIFT_WORKER_THREADS (queryengine.properties)

  3. Number of PARALLEL_READER_THREADS (queryengine.properties)

Formula:
LA CAPACITY = (50 % of Xmx memory) / (THRIFT_WORKER_THREADS * PARALLEL_READER_THREADS)

Copyright Kyvos, Inc. All rights reserved.