Managing sparsity in a multidimensional data structure
First Claim
1. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor to:
- determine a set of dimensions within a relational database to be stored in a cache, the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells;
responsive to determining the set of dimensions, restricting an initial load to a size below a threshold size by causing a multidimensional database management system to generate the initial load using only the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells;
at predetermined time intervals, retrieve log files including usage information for individual dimensions in the set of dimensions stored in a cache and in uncached dimensions stored in a relational database, the usage information corresponding to a level of usage of the individual dimensions;
at the predetermined time intervals, determine at least one relatively high usage dimension in the uncached dimensions based, at least in part, upon the usage information; and
at the predetermined time intervals, causing the multidimensional database management system to refresh, in a memory device, the initial load using only a portion of the set of dimensions and the at least one relatively high usage dimension in the uncached dimensions from the usage information in the log files, the refreshing action generating an incremental load to be stored in the cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention relate to a method, program product, and system for managing the percentage of unpopulated cells in a multidimensional data structure during the servicing of multidimensional analytical queries. In an embodiment, a multidimensional data structure is stored in a memory location of a computing device, wherein the multidimensional data structure includes a dimension that is a subset of a plurality of dimensions included in a relational database. The computing device determines a frequency of utilization of a dimension to service a multidimensional query request. The computing device combines the dimension with the multidimensional data structure responsive to the frequency of utilization.
-
Citations
10 Claims
-
1. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor to:
-
determine a set of dimensions within a relational database to be stored in a cache, the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells; responsive to determining the set of dimensions, restricting an initial load to a size below a threshold size by causing a multidimensional database management system to generate the initial load using only the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells; at predetermined time intervals, retrieve log files including usage information for individual dimensions in the set of dimensions stored in a cache and in uncached dimensions stored in a relational database, the usage information corresponding to a level of usage of the individual dimensions; at the predetermined time intervals, determine at least one relatively high usage dimension in the uncached dimensions based, at least in part, upon the usage information; and at the predetermined time intervals, causing the multidimensional database management system to refresh, in a memory device, the initial load using only a portion of the set of dimensions and the at least one relatively high usage dimension in the uncached dimensions from the usage information in the log files, the refreshing action generating an incremental load to be stored in the cache. - View Dependent Claims (2, 3, 7, 9)
-
-
4. A system comprising:
-
a processor(s) set; and a storage device; wherein; the processor set(s) is operatively connected to the storage device so that the processor(s) set can execute program code stored on and/or in the storage device; the program code is executable by the processor(s) set to; determine a set of dimensions within a relational database to be stored in a cache, the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells; responsive to determining the set of dimensions, restricting an initial load to a size below a threshold size by causing a multidimensional database management system to generate the initial load using only the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells; at predetermined time intervals, retrieve log files including usage information for individual dimensions in the set of dimensions stored in a cache and in uncached dimensions stored in a relational database, the usage information corresponding to a level of usage of the individual dimensions; at the predetermined time intervals, determine at least one relatively high usage dimension in the uncached dimensions based, at least in part, upon the usage information; and at the predetermined time intervals, causing the multidimensional database management system to refresh, in a memory device, the initial load using only a portion of the set of dimensions and the at least one relatively high usage dimension in the uncached dimensions from the usage information in the log files, the refreshing action generating an incremental load to be stored in the cache. - View Dependent Claims (5, 6, 8, 10)
-
Specification