IP Library Granted Patent US 11,341,134
Granted Patent B2
US 11,341,134 · App. 16/989,687 · Granted May 24, 2022

Apparatus and method for accelerated query processing using eager aggregation and analytical view matching

Inventors: Anjali Betawadkar-Norwood (Campbell, CA); Priyank Patel (Fremont, CA)
Assignee: Cloudera, Inc.
G06F16/24542G06F16/2458G06F16/27
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 11,341,134
App. No.
16/989,687
Granted
May 24, 2022
Kind
B2
Abstract

A system comprises a computer network and worker machines connected to the computer network. The worker machines store partitions of a distributed database. A master machine is connected to the computer network. The master machine includes a query processor to identify a star query that references a fact table and related dimension tables that characterize attributes of facts in the fact table. Eager aggregation is applied to a query plan associated with the star query. The eager aggregation alters the query plan by moving an aggregation operation before a join operation to form an eager aggregated query plan. An analytical view with data responsive to the eager aggregated query plan is identified. The eager aggregated query plan is revised to form a final query plan. The final query plan references the analytical view. The final query plan is executed to produce query results.

Claims (44)

1. A method comprising:

identifying a star query that references a fact table and related dimension tables that characterize attributes of facts in the fact table;

applying eager aggregation to a query plan associated with the star query, wherein the eager aggregation alters the query plan by moving an aggregation operation before a join operation to form an eager aggregated query plan;

identifying an analytical view with data responsive to the eager aggregated query plan, wherein the analytical view includes attributes and measures maintained as a data unit separate from the distributed database, wherein the analytical view is constructed prior to receipt of the star query;

revising the eager aggregated query plan to form a final query plan, wherein the final query plan references the analytical view; and

executing the final query plan to produce query results.

2. The method of claim 1 further comprising:

storing a partial function module to initialize a data dimension; and

incrementing an aggregate of the database dimension in response to a data change and to serialize a last aggregate of the database dimension in response to a refresh operation to form partial results of an analytical view.

3. The method of claim 2 further comprising applying a merge rewrite to the eager aggregated query plan to merge together select blocks introduced by the eager aggregation.

4. The method of claim 1 wherein the analytical view comprises a subset of data from the fact table.

5. The method of claim 1 wherein the analytical view is used to expedite query processing and is computed by applying the join to the fact table.

6. The method of claim 5 wherein the eager aggregation reduces a number of input rows to the join to improve the query plan.

7. The method of claim 1 wherein the final query plan is executed by a plurality of worker machines coupled to a master machine through a network, wherein the plurality of worker machines store partitions of a distributed database.

8. The method of claim 7 wherein the master machine executes a query processor to perform the method.

9. The method of claim 7 further comprising securing the query results from the master machine in a client machine coupled to the master machine through the network.

10. A method comprising:

executing a star query by reading individual tables and applying local filters to produce filtered tables;

applying eager aggregation to the star query to form an eager aggregated query plan;

identifying an analytical view with data responsive to the eager aggregated query plan, wherein the analytical view includes attributes and measures maintained as a data unit separate from the distributed database, wherein the analytical view is constructed prior to receipt of the star query;

joining the filtered tables using join predicates; and

revising the eager aggregated query plan to form a final query plan, wherein the final query plan references the analytical view.

11. The method of claim 10 wherein the final query plan is executed by a plurality of worker machines coupled to a master machine through a network, wherein the plurality of worker machines store partitions of a distributed database.

12. The method of claim 11 wherein the master machine executes a query processor to perform the method.

13. The method of claim 12 further comprising securing the query results from the master machine in a client machine coupled to the master machine through the network.

14. The method of claim 10 further comprising:

storing a partial function module to initialize a data dimension; and

incrementing an aggregate of the database dimension in response to a data change and to serialize a last aggregate of the database dimension in response to a refresh operation to form partial results of an analytical view.

15. The method of claim 14 further comprising applying a merge rewrite to the eager aggregated query plan to merge together select blocks introduced by the eager aggregation.

16. The method of claim 10 wherein the analytical view comprises a subset of data from the fact table.

17. A system comprising:

a master machine configured to

identify a star query that references a fact table and related dimension tables that characterize attributes of facts in the fact table,

apply eager aggregation to a query plan associated with the star query, wherein the eager aggregation alters the query plan by moving an aggregation operation before a join operation to form an eager aggregated query plan,

identify an analytical view with data responsive to the eager aggregated query plan, wherein the analytical view includes attributes and measures maintained as a data unit separate from the distributed database, wherein the analytical view is constructed prior to receipt of the star query,

revise the eager aggregated query plan to form a final query plan, wherein the final query plan references the analytical view, and

executing the final query plan to produce query results; and

a client machine coupled to the master machine over a network, and configured to secure the query results from the master machine.

18. The system of claim 17 further comprising worker machines coupled to the network and configured to store partitions of a distributed database processed by the master machine.

19. The system of claim 18 wherein the master machine is further configured to

store a partial function module to initialize a data dimension, and

increment an aggregate of the database dimension in response to a data change and to serialize a last aggregate of the database dimension in response to a refresh operation to form partial results of an analytical view, and

merge partial results from the worker machines.

20. The system of claim 19 wherein the master machine is further configured to apply a merge rewrite to the eager aggregated query plan.

Assignments (4)
RELEASE OF SECURITY INTERESTS IN PATENTS Recorded Oct 14, 2021
From: CITIBANK, N.A.
To: CLOUDERA, INC.; HORTONWORKS, INC.
Reel/Frame 057804/0355 →
FIRST LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0185 →
SECOND LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0284 →
SECURITY INTEREST Recorded Dec 22, 2020
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054832/0559 →