Chapter 2. IBM Cognos Dynamic Cubes architecture 31
Figure 2-24 shows the loading of in-memory aggregates.
Figure 2-24 Loading in-memory aggregates
Queries that are issued to retrieve aggregate cache values are planned by Cognos Dynamic
Cubes in the same manner as when data is required to populate the data cache. As a
consequence, they are able to take advantage of any available in-database aggregate tables.
The size of the aggregate cache that is specified in the properties of a dynamic cube is simply
a maximum. The aggregate cache, however, is loaded on a first-come basis; if an aggregate
result will not fit into the cache, it is discarded. If the cache is full, no more queries are issued
to retrieve aggregate values. An aggregate cache size of zero disables the aggregate cache.
2.3.5 Data cache
The data cache contains the result of queries posed by the MDX engine to a dynamic cube
for data. Each such query is posed as a set of tuples, each of which specifies a single
measure for which a value is required. As described elsewhere, a request for data from the
MDX engine can be satisfied by data that exists in the data or aggregate cache. However, if
data is not present in either cache to satisfy the request for data, or if only part of it can be
retrieved from the cache, dynamic cubes will obtain the data either by aggregating data in the
aggregate cache, or retrieving data from the underlying relational database. In either case,
the data obtained is stored in the data cache as a
cubelet, a multi-dimensional container of
data. Thus, the data cache is a collection of such cubelets that are continuously ordered in
such a manner as to reduce the time that is required to search for data in the cache.
Data within the data cache is shared among all users. Security is applied in a layer above the
data cache and ensures that users are provided access only to data to which they have been
granted, or to which they have not been denied, access.
Both dynamic (or base) cubes and virtual cubes may be assigned a data cache. If a cube is
not directly accessible by users, that is, it has no packages associated with it, a data cache is
not necessary. However, if a cube is being used to retain historic data as part of a virtual
cube, then a data cache on the base cube is useful because it ensures that the historic data,

Get IBM Cognos Dynamic Cubes now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.