IP Library Granted Patent US 11,514,030
Granted Patent B2
US 11,514,030 · App. 17/095,155 · Granted Nov 29, 2022

Automated materialized view table generation and maintenance

Inventors: Boris Kapchits (Yokneam Ilit, IL); Eran Joel Meir (Alon Hagalil, IL); Ohad Shacham (Kfar Monash, IL)
Assignee: YAHOO ASSETS LLC
G06F16/2393G06F16/2282G06F16/2358G06F16/24562G06F16/24564
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,514,030
App. No.
17/095,155
Granted
Nov 29, 2022
Kind
B2
Abstract

One or more computing devices, systems, and/or methods for automated materialized view table generation and maintenance are provided. A log, comprising queries and latencies of processing the queries, is evaluated to identify a list of combinations of fields that occur greater than a threshold frequency and/or occur in queries having latencies greater than a threshold latency. A materialized view generation script is executed against a main database to generate a materialized view table associated with a combination of one or more fields from the list. A middleware component is configured to selectively direct a query to the main database or to the materialized view table based upon whether the materialized view table comprises preliminary query results for fields specified by the query.

Claims (58)

1. A method, comprising:

executing, on a processor of a computing device, instructions that cause the computing device to perform operations, the operations comprising:

executing a parser script to evaluate a log comprising queries and latencies of processing the queries to identify a list of combinations of fields that occur greater than a threshold frequency and occur in queries having latencies greater than a threshold latency;

generating a materialized view generation script for querying a main database to generate a materialized view table associated with a combination of one or more fields from the list of combinations of fields;

executing the materialized view generation script against the main database to generate the materialized view table for subsequently processing queries comprising the combination of one or more fields; and

periodically evaluating, at a first frequency, the log to identify combinations of one or more fields for creating one or more new materialized view tables.

2. The method of claim 1 , comprising:

configuring a middleware component to redirect the queries from targeting the main database to targeting the materialized view table based upon the queries comprising the combination of one or more fields.

3. The method of claim 1 , comprising:

receiving, by a middleware component, a query specifying one or more fields;

utilizing configuration information associated with the materialized view table to determine that the one or more fields correspond to the combination of one or more fields used to populate the materialized view table; and

redirecting the query from targeting the main database to targeting the materialized view table.

4. The method of claim 1 , comprising:

receiving, by a middleware component, a query specifying one or more fields;

utilizing configuration information associated with the materialized view table to determine that the one or more fields do not correspond to the combination of one or more fields used to populate the materialized view table; and

executing the query against the main database.

5. The method of claim 1 , comprising:

identifying second combinations of one or more fields.

6. The method of claim 5 , comprising:

determining whether to delete an existing materialized view table that does not correspond to the second combinations.

7. The method of claim 1 , comprising:

generating a task to periodically refresh data within the materialized view table.

8. The method of claim 1 , comprising:

aggregating data stored across a plurality of heterogeneous platforms for periodically populating the materialized view table.

9. The method of claim 1 , wherein the parser script utilizes statistical analysis to evaluate the log.

10. The method of claim 1 , wherein one or more materialized view tables are utilized to store preliminary query results of popular queries that have a frequency of occurrence above a threshold, wherein the materialized view tables are automatically created and deleted based upon changes in user query behavior patterns over time.

11. The method of claim 1 , wherein one or more materialized view tables are utilized to store preliminary query results of queries that have latencies above a threshold.

12. The method of claim 1 , comprising:

receiving, by a middleware component, a query specifying one or more fields;

utilizing configuration information associated with the materialized view table to determine that the one or more fields correspond to the combination of one or more fields used to populate the materialized view table;

re-writing the query to create a rewritten query; and

executing the rewritten query against the materialized view table.

13. A non-transitory machine readable medium having stored thereon processor-executable instructions that when executed cause performance of operations, the operations comprising:

evaluating a log comprising queries and latencies of processing the queries to identify a list of combinations of fields that occur greater than a threshold frequency and occur in queries having latencies greater than a threshold latency;

executing a materialized view generation script against a main database to generate a materialized view table associated with a combination of one or more fields from the list of combinations of fields; and

periodically evaluating, at a first frequency, the log to identify combinations of one or more fields for creating one or more new materialized view tables.

14. The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

configuring a middleware component to redirect queries from targeting the main database to targeting the materialized view table based upon the queries comprising the combination of one or more fields.

15. The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

receiving, by a middleware component, a query specifying one or more fields;

utilizing configuration information associated with the materialized view table to determine that the one or more fields correspond to the combination of one or more fields used to populate the materialized view table;

transforming the query into one or more sketch operations; and

executing the one or more sketch operations against the materialized view table.

16. The non-transitory machine readable medium of claim 15 , utilizing a tree of filter expressions associated with the middleware component to transform the query into the one or more sketch operations.

17. A computing device comprising:

a processor; and

memory comprising processor-executable instructions that when executed by the processor cause performance of operations, the operations comprising:

evaluating a log comprising queries and latencies of processing the queries to identify a list of combinations of fields that occur greater than a threshold frequency and occur in queries having latencies greater than a threshold latency;

querying a main database to generate a first materialized view table associated with a combination of one or more fields from the list of combinations of fields;

configuring a middleware component to redirect the queries from targeting the main database to targeting the first materialized view table based upon the queries comprising the combination of one or more fields; and

periodically evaluating, at a first frequency, the log to identify combinations of one or more fields for creating one or more new materialized view tables.

18. The computing device of claim 17 , wherein the operations comprise:

aggregating data for inclusion within the first materialized view table at a first granularity and for inclusion within a second materialized view table at a second granularity.

19. The computing device of claim 18 , comprising:

receiving, by the middleware component, a query specifying one or more fields;

utilizing configuration information associated with the materialized view table to determine that the one or more fields correspond to the combination of one or more fields used to populate the materialized view table; and

determining whether to selectively execute the query upon the first materialized view table or the second materialized view table based upon a level of granularity specified by the query.

20. The computing device of claim 18 , wherein the query is executed upon a selected materialized view table having a coarser level of granularity.

Assignments (3)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: KAPCHITS, BORIS; MEIR, ERAN JOEL; SHACHAM, OHAD
To: VERIZON MEDIA INC.
Reel/Frame 054336/0605 →