IP Library › Granted Patent US 11,494,413
Granted Patent B1
US 11,494,413 · App. 17/374,479 · Granted Nov 8, 2022

Query alerts generation for virtual warehouse

Inventors: Praveen Kandukuri (Ashburn, VA); Syed Salim (North Potomac, MD); Karamchandradatt Hardatt (Glen Allen, VA); Nagender Gurram (Glen Allen, VA); Ganesh Bharathan (Henrico, VA); Yudhish Batra (McLean, VA)
Assignee: Capital One Services, LLC
G06F16/283G06F16/248G06F16/2457G06F16/24534G06F16/256
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,494,413
App. No.
17/374,479
Granted
Nov 8, 2022
Kind
B1
Abstract

Methods, systems, and apparatuses for generating notifications corresponding to queries submitted for execution by virtual warehouses are described herein. A request to execute a query may be received. An execution plan, for the query, may be identified. A processing complexity for the query may be predicted based on the query and the execution plan. A notification may be generated based on the processing complexity meeting an alert threshold. A user device may display the notification. A response to the notification comprising a selection of a first virtual warehouse, of a plurality of virtual warehouses, to execute the query may be received.

Claims (84)

1. A computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

identify an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses;

predict, based on the execution plan for the query, a processing complexity of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

select, based on the processing complexity of the query, a first virtual warehouse, of a plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

determine, based on the processing complexity of the query, a predicted processing time that predicts how long the first virtual warehouse will take to:

execute the query;

collect results from the query; and

provide, to the user device, the collected results;

generate, based on determining that the predicted processing time satisfies a threshold, a notification indicating one or more proposed changes to the query;

modify, based on a response to the notification, the query; and

cause the first virtual warehouse to execute the modified query.

2. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses; and

determine processing capabilities of the plurality of virtual warehouses, wherein the instructions, when executed by the one or more processors, cause the computing device to determine the predicted processing time further based on the operating status and the processing capabilities.

3. The computing device of claim 1 , wherein the one or more proposed changes to the query comprise one or more of:

a recommendation to remove one or more characters from the query; or

a recommendation to change a column name of the query.

4. The computing device of claim 1 , wherein the notification comprises a cost corresponding to execution of the query based on the processing complexity of the query.

5. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to select the first virtual warehouse by causing the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses;

determine processing capabilities of the plurality of virtual warehouses; and

select, based on the operating status and the processing capabilities, the first virtual warehouse.

6. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

modify, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

7. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

determine a frequency of queries during a time period; and

modify, based on the frequency, a size of the plurality of virtual warehouses.

8. A method comprising:

receiving, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

identifying an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses;

predicting, based on the execution plan for the query, a processing complexity of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

selecting, based on the processing complexity of the query, a first virtual warehouse, of a plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

determining, based on the processing complexity of the query, a predicted processing time that predicts how long the first virtual warehouse will take to:

execute the query;

collect results from the query; and

provide, to the user device, the collected results;

generating, based on determining that the predicted processing time satisfies a threshold, a notification indicating one or more proposed changes to the query;

modify, based on a response to the notification, the query; and

causing the first virtual warehouse to execute the modified query.

9. The method of claim 8 , further comprising:

identifying the plurality of virtual warehouses;

determining an operating status of the plurality of virtual warehouses; and

determining processing capabilities of the plurality of virtual warehouses, wherein determining the predicted processing time is based on the operating status and the processing capabilities.

10. The method of claim 8 , wherein the one or more proposed changes to the query comprise a recommendation to remove one or more characters from the query.

11. The method of claim 8 , wherein the notification comprises a cost corresponding to execution of the query based on the processing complexity of the query.

12. The method of claim 8 , wherein selecting the first virtual warehouse comprises:

identifying the plurality of virtual warehouses;

determining an operating status of the plurality of virtual warehouses; and

determining processing capabilities of the plurality of virtual warehouses.

13. The method of claim 8 , further comprising:

modifying, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

14. The method of claim 8 , further comprising:

determining a frequency of queries during a time period; and

modifying, based on the frequency, a size of the plurality of virtual warehouses.

15. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause a computing device to:

receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

identify an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses;

predict, based on the execution plan for the query, a processing complexity; of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

select, based on the processing complexity of the query, a first virtual warehouse, of a plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

determine, based on the processing complexity of the query, a predicted processing time that predicts how long the first virtual warehouse will take to:

execute the query;

collect results from the query; and

provide, to the user device, the collected results;

generate, based on determining that the predicted processing time satisfies a threshold, a notification indicating one or more proposed changes to the query;

modify, based on a response to the notification, the query; and

cause the first virtual warehouse to execute the modified query.

16. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses; and

determine processing capabilities of the plurality of virtual warehouses, wherein the instructions, when executed by the one or more processors, cause the computing device to determine the predicted processing time further based on the operating status and the processing capabilities.

17. The computer-readable media of claim 15 , wherein the one or more proposed changes to the query comprise a recommendation to remove one or more characters from the query.

18. The computer-readable media of claim 15 , wherein the notification comprises a cost corresponding to execution of the query based on the processing complexity of the query.

19. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to select the first virtual warehouse by causing the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses;

determine processing capabilities of the plurality of virtual warehouses; and

select, based on the operating status and the processing capabilities, the first virtual warehouse.

20. The computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

modify, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2021
From: KANDUKURI, PRAVEEN; SALIM, SYED; HARDATT, KARAMCHANDRADATT; GURRAM, NAGENDER; BHARATHAN, GANESH; BATRA, YUDHISH
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 056902/0157 →
Cited By (3)
US 12,353,422 US 12,361,026 US 12,386,840