Ideally, Jedox In-Memory DB is run on a target system with a lot of memory and a fast processor, as Jedox loads the data into RAM when starting. The memory capacity depends on the size of the databases and the calculation of consolidated values.
The base cells of the cubes that have been loaded by Jedox are always stored inside the main memory of the machine the server is running on. The aggregated cells, however, have to be calculated whenever their value is requested. The cache improves on this situation by storing previously requested aggregations.
The cache is divided into logical cube caches. There is one cube cache for every cube.
The cache barrier parameter can be changed to improve the server-side cache performance of Jedox. This parameter defines the number of calculated, aggregated values to be cached per cube. The bigger the number, the more values are cached, but lookup of cached values also takes a bit longer, and it uses more memory. When values are requested from the server, the cache is filled until the limit defined in the cache barrier is reached. After this, no new values are cached. However, if any cell value of a given cube is changed, its cache, and the caches of cubes that are related to this cube via rules are cleared completely. If the structure of the databases changes in any way (for example via the creation of new elements), the caches for all cubes in the database are cleared.