IP Library › Granted Patent US 10,984,020
Granted Patent B2
US 10,984,020 · App. 15/333,051 · Granted Apr 20, 2021

System and method for supporting large queries in a multidimensional database environment

Inventor: Alexey Roytman (Beer Sheva, IL)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/283G06F16/2264G06F16/245G06F16/90335
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,984,020
App. No.
15/333,051
Granted
Apr 20, 2021
Kind
B2
Abstract

In accordance with an embodiment, the system provides support for large queries in a multidimensional database computing environment. A kernel-based data structure, referred to herein as an odometer retriever, or odometer, that manages pointers to data blocks, contains control information, or otherwise operates as an array of arrays of pointers to stored members. When used with a dynamic flow, the approach enables the system to be used, for example to handle grid queries, Multidimensional Expressions (MDX) queries, or other types of queries in which the potential size of the query can be up to 2 64 bits.

Claims (42)

1. A system for supporting large queries in a multidimensional database environment, comprising:

a computer, including a processor;

a multidimensional database environment executing on the processor, including a multidimensional database for at least one of storage or analysis of data, the multidimensional database including a kernel-based data structure that manages pointers to data blocks, contains control information, and comprises an array of key values;

wherein the multidimensional database is configured to process a query using the kernel-based data structure to maintain references to cells of the multidimensional database, wherein the query is processed in a bottom-up mode, including performing steps of:

expanding the query;

analyzing the expanded query to define one or more calculation units;

determining a processing flow that includes and connects the one or more calculation units according to an order and data dependencies; and

executing the flow, by executing each of the one or more calculation units to calculate dynamic data according to the determined processing flow, to determine a response to the query;

wherein each key value in the array of key values is a reference to a cell of the multidimensional database;

wherein the kernel-based data structure provides a transformation for key values to fully specified references to cells of the multidimensional database;

wherein the multidimensional database operates according to a dynamic flow process that processes the query by a hybrid use of at least two or more of block storage option, aggregate storage option, or other data storage containers concurrently; and

wherein the dynamic flow process expands an input data structure as calculation units, for subsequent processing as one of a block storage option or an aggregate storage option process.

2. The system of claim 1 , wherein the key value is a long data type.

3. The system of claim 2 , wherein the system is configured to process queries up to 2 64 cells in size.

4. A method for supporting large queries in a multidimensional database environment, comprising:

providing, at a computer system including a processor, a multidimensional database environment, including a multidimensional database for at least one of storage or analysis of data, the multidimensional database includes a kernel-based data structure that manages pointers to data blocks, contains control information, and comprises an array of key values; and

processing, by the system, an input query using the kernel-based data structure to maintain references to cells of the multidimensional database,

wherein processing the input query includes processing the input query in a bottom-up mode, including performing a method of:

expanding the input query;

analyzing the expanded input query to define one or more calculation units;

determining a processing flow that includes and connects the one or more calculation units according to an order and data dependencies; and

executing the flow, by executing each of the one or more calculation units to calculate dynamic data according to the determined processing flow, to determine a response to the input query,

wherein each key value in the array of key values is a reference to a cell of the multidimensional database, and

wherein the kernel-based data structure provides a transformation for key values to fully specified references to cells of the multidimensional database.

5. The method of claim 4 , wherein the system operates according to a dynamic flow process that enables processing of an input query and a hybrid use of at least one or more of block storage option, aggregate storage option, or other data storage containers.

6. The method of claim 5 , wherein the dynamic flow process expands an input data structure as calculation units, for subsequent processing as one of a block storage option, or aggregate storage option process.

7. The method of claim 4 , wherein the key value is a long data type.

8. The method of claim 7 , wherein the multidimensional database environment is configured to process queries up to 2 64 cells in size.

9. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform the method comprising:

providing, at a computer system including a processor, a multidimensional database environment, including a multidimensional database for at least one of storage or analysis of data, the multidimensional database includes a kernel-based data structure that manages pointers to data blocks, contains control information, and comprises an array of keys values; and

processing, by the multidimensional database environment, a query using the kernel-based data structure to maintain references to cells of the multidimensional database,

wherein processing the query includes processing the query in a bottom-up mode, including performing a method of:

expanding the query;

analyzing the expanded query to define one or more calculation units;

determining a processing flow that includes and connects the one or more calculation units according to an order and data dependencies; and

executing the flow, by executing each of the one or more calculation units to calculate dynamic data according to the determined processing flow, to determine a response to the query,

wherein each key value in the array of key values is a reference to a cell of the multidimensional database, and

wherein the kernel-based data structure provides a transformation for key values to fully specified references to cells of the multidimensional database.

10. The non-transitory computer readable storage medium of claim 9 , wherein the wherein the system operates according to a dynamic flow process that enables processing of an input query and a hybrid use of at least one or more of block storage option, aggregate storage option, or other data storage containers.

11. The non-transitory computer readable storage medium of claim 10 , wherein the dynamic flow process expands an input data structure as calculation units, for subsequent processing as one of a block storage option, or aggregate storage option process.

12. The non-transitory computer readable storage medium of claim 9 , wherein the key value is a long data type.

13. The non-transitory computer readable storage medium of claim 12 , wherein the multidimensional database environment is configured to process queries up to 2 64 cells in size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2017
From: ROYTMAN, ALEXEY
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 041510/0352 →
Continuity (4)
Provisional Application 62245892 · Oct 23, 2015
Provisional Application 62245897 · Oct 23, 2015
Provisional Application 62245901 · Oct 23, 2015
Related Publication 20170116313A1 · Apr 27, 2017
Cited By (1)
US 12,608,377