IP Library › Granted Patent US 10,552,393
Granted Patent B2
US 10,552,393 · App. 15/332,948 · Granted Feb 4, 2020

System and method for use of a dynamic flow in a multidimensional database environment

Inventors: Natasha Reichman (Beer Sheva, IL); Sergei Riaboi (Arad, IL); Alexey Roytman (Beer Sheva, IL); Victor Belyaev (San Jose, CA); Kumar Ramaiyer (Cupertino, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/22G06F16/24562G06F16/283
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,552,393
App. No.
15/332,948
Granted
Feb 4, 2020
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for use of a dynamic flow process (referred to herein in some examples as Query Processing Dynamic Flow (QPDF)) in a multidimensional database computing environment. The dynamic flow process enables hybrid use of, for example, aggregate storage option, block storage option, or other types of storage containers, and provides a common flow to process a received input query in bottom-up mode. The approach can be used to reduce the size of the cube, which provides for efficient calculation of dynamic members.

Claims (44)

1. A system for use of a dynamic flow in a multidimensional database environment, comprising:

a computer, including a processor;

a multidimensional database, for at least one of storage or analysis of data;

a storage container that acts as an interface between a data source and the multidimensional database; and

a data buffer of the multidimensional database environment comprising a plurality of buckets;

wherein the system executes a dynamic flow process that operates to

receive an input query for processing against the multidimensional database,

expand the input query to determine calculated data,

determine dependencies and an order of calculation by analyzing the expanded input query,

divide the expanded input query into defined calculation units according to the determined order of calculation,

build an executable flow comprising the defined calculation units connected in an order based on the determined order of calculation,

execute the executable flow, to determine a response to the input query, and

populate a database cube based on the determined response to the input query.

2. The system of claim 1 , wherein the system further operates to place each calculation unit of the plurality of calculation units in a corresponding bucket of the data buffer.

3. The system of claim 1 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to determine the response to the input query.

4. The system of claim 1 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

5. A method for use of a dynamic flow in a multidimensional database environment, comprising:

providing, at a computer system including a processor, a multidimensional database for at least one of storage or analysis of data, a storage container that acts as an interface between a data source and the multidimensional database, and a data buffer comprising a plurality of buckets; and

executing a dynamic flow process, including the steps of:

receiving an input query for processing against the multidimensional database;

expanding the input query to determine calculated data;

determining dependencies and an order of calculation by analyzing the expanded input query;

dividing the calculation expanded input query into defined calculation units according to the determined order of calculation;

building an executable flow comprising the defined calculation units connected in an order based on the determined order of calculation;

executing the executable flow, to determine a response to the input query; and

populating a database cube based on the determined response to the input query.

6. The method of claim 5 , further comprising:

placing each calculation unit of the plurality of calculation units in a corresponding bucket of the data buffer.

7. The method of claim 5 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to determine the response to the input query.

8. The method of claim 5 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

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 for at least one of storage or analysis of data, a storage container that acts as an interface between a data source and the multidimensional database, and a data buffer comprising a plurality of buckets; and

executing a dynamic flow process, including the steps of

receiving an input query for processing against the multidimensional database;

expanding the input query to determine calculated data;

determining dependencies and an order of calculation by analyzing the expanded input query;

dividing the expanded input query into defined calculation units according to the determined order of calculation;

building an executable flow comprising the defined calculation units connected in an order based on the determined order of calculation;

executing the executable flow, to determine a response to the input query; and

populating a database cube based on the determined response to the input query.

10. The non-transitory computer readable storage medium of claim 9 , further comprising:

placing each calculation unit of the plurality of calculation units in a corresponding bucket of the data buffer.

11. The non-transitory computer readable storage medium of claim 9 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to determine the response to the input query.

12. The non-transitory computer readable storage medium of claim 9 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: REICHMAN, NATASHA; RIABOI, SERGEI; ROYTMAN, ALEXEY; BELYAEV, VICTOR; RAMAIYER, KUMAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 041524/0359 →
Continuity (5)
Provisional Application 62245892 · Oct 23, 2015
Provisional Application 62245897 · Oct 23, 2015
Provisional Application 62245901 · Oct 23, 2015
Provisional Application 62411473 · Oct 21, 2016
Related Publication 20170116290A1 · Apr 27, 2017
Cited By (2)
US 12,197,408 US 12,608,377