System and method for automatic dependency analysis for use with a multidimensional database
AssigneeOracle International Corporation
InventorsVinod Padinjat Menon, Kumar Ramaiyer
Life of this patent
Estimating the term…
Abstract
In accordance with an embodiment, described herein is a system and method for dependency analysis for a calculation script in a multidimensional database computing environment. A multidimensional database cube aggregation can be represented as a lattice of blocks or cube, arranged according to a database outline (e.g., intra-dimensional or member hierarchy). When the multidimensional database system performs computations in parallel for a given calculation script, portions of the cube that can be computed concurrently are identified.
Claims20
A system for providing parallel calculation within a multidimensional database environment, comprising:
- a multidimensional database for storing data associated with a plurality of dimensions;
- and
- a computing device having a processor executing instructions that cause the processor to:
- determine a set of task dimensions for an operation on the multidimensional database, wherein a task dimension comprises a sparse dimension of the multidimensional database;
- generate a plurality of tasks for the operation based on respective members of respective task dimensions of the set of task dimensions, wherein each task of the plurality of tasks calculates at least one data block associated with one or more members of the task dimensions;
- identify a non-participating dimension in the set of task dimensions based on the plurality of tasks;
- determine a plurality of task levels based on the plurality of tasks, the plurality of task levels including a first task level that includes a first set of tasks associated with participating dimensions determined to have no dependencies on other tasks and tasks associated with members of the non-participating dimension;
- and
- execute, in parallel, tasks included in the first task level to calculate one or more data blocks.
A method for parallel calculation in a multidimensional database, comprising:
- determining a set of task dimensions for an operation on the multidimensional database, wherein a task dimension comprises a sparse dimension of the multidimensional database;
- generating a plurality of tasks for the operation based on respective members of respective task dimensions of the set of task dimensions, wherein each task of the plurality of tasks calculates at least one data block associated with one or more members of the task dimensions;
- identifying a non-participating dimension in the set of task dimensions based on the plurality of tasks;
- determining a plurality of task levels based on the plurality of tasks, the plurality of task levels including a first task level that includes a first set of tasks associated with participating dimensions determined to have no dependencies on other tasks and tasks associated with members of the non-participating dimension;
- and
- executing, in parallel, tasks included in the first task level to calculate one or more data blocks.
A non-transitory computer-readable storage medium having instructions stored thereon, which when read and executed by a computer, cause the computer to:
- determine a set of task dimensions for an operation on a multidimensional database, wherein a task dimension comprises a sparse dimension of the multidimensional database;
- generate a plurality of tasks for the operation based on respective members of respective task dimensions of the set of task dimensions, wherein each task of the plurality of tasks calculates at least one data block associated with one or more members of the task dimensions;
- identify a non-participating dimension in the set of task dimensions based on the plurality of tasks;
- determine a plurality of task levels based on the plurality of tasks, the plurality of task levels including a first task level that includes a first set of tasks associated with participating dimensions determined to have no dependencies on other tasks and tasks associated with members of the non-participating dimension;
- and
- execute, in parallel, tasks included in the first task level to calculate one or more data blocks.
Dependencies are inferred from the claim text.