Resource provisioning systems and methods
First Claim
Patent Images
1. A system comprising:
- a memory; and
a processor, operatively coupled with the memory, the processor to;
monitor received data processing requests, each data processing request directed to data stored in a plurality of shared storage devices and to be executed by an execution platform comprising a plurality of execution nodes, wherein the plurality of execution nodes is logically divided into one or more virtual warehouses, and each virtual warehouse establishes a communication link with each of one or more of the plurality of shared storage devices based at least in part on a respective received data processing request;
monitor for each of the one or more virtual warehouses, a current resource utilization, query response rates, and a number of users interacting with the virtual warehouse;
determine whether additional processing resources are required based at least in part on the received data processing requests, the current utilization of the one or more virtual warehouses, query response rates of the one or more virtual warehouses and a number of users interacting with each of the one or more virtual warehouses;
determine whether additional data storage capacity is needed based on the received data processing requests;
allocate, in response to determining that additional data storage capacity is needed, one or more additional shared storage devices to the plurality of shared storage devices; and
allocate, in response to determining that additional processing resources are required, one or more additional execution nodes to the plurality of execution nodes.
3 Assignments
0 Petitions
Accused Products
Abstract
A system is described inkling a cache memory and a hardware processor. The hardware processor to determine that at least one of additional data storage capacity and additional processing capacity are needed based on data processing requests of a plurality of computerized query sources to be executed by an execution platform comprising a plurality of nodes, where the data processing requests are directed to database data stored on a plurality of shared storage devices collectively storing the database data. The hardware processor further to increase, in response to the determining, an amount of the data cached by the execution platform by adding one or more nodes to the plurality of nodes.
118 Citations
22 Claims
-
1. A system comprising:
-
a memory; and a processor, operatively coupled with the memory, the processor to; monitor received data processing requests, each data processing request directed to data stored in a plurality of shared storage devices and to be executed by an execution platform comprising a plurality of execution nodes, wherein the plurality of execution nodes is logically divided into one or more virtual warehouses, and each virtual warehouse establishes a communication link with each of one or more of the plurality of shared storage devices based at least in part on a respective received data processing request; monitor for each of the one or more virtual warehouses, a current resource utilization, query response rates, and a number of users interacting with the virtual warehouse; determine whether additional processing resources are required based at least in part on the received data processing requests, the current utilization of the one or more virtual warehouses, query response rates of the one or more virtual warehouses and a number of users interacting with each of the one or more virtual warehouses; determine whether additional data storage capacity is needed based on the received data processing requests; allocate, in response to determining that additional data storage capacity is needed, one or more additional shared storage devices to the plurality of shared storage devices; and allocate, in response to determining that additional processing resources are required, one or more additional execution nodes to the plurality of execution nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
monitoring received data processing requests, each data processing request directed to data stored in a plurality of shared storage devices and to be executed by an execution platform comprising a plurality of execution nodes, wherein the plurality of execution nodes is logically divided into one or more virtual warehouses, and each virtual warehouse establishes a communication link with each of one or more of the plurality of shared storage devices based at least in part on a respective received data processing request; monitoring, for each of the one or more virtual warehouses, a current resource utilization, query response rates, and a number of users interacting with the virtual warehouse; determining whether additional processing resources are required based at least in part on the received data processing requests, the current utilization of the one or more virtual warehouses, query response rates of the one or more virtual warehouses and a number of users interacting with each of the one or more virtual warehouses; determining, by a processor, whether additional data storage capacity is needed based on the received data processing requests; allocating, in response to determining that additional data storage capacity is needed, one or more additional shared storage devices to the plurality of shared storage devices; and allocating, in response to determining that additional processing resources are required, one or more additional execution nodes to the plurality of execution nodes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable storage medium storing instructions that, when executed by a processor, cause the processor to:
-
monitor received data processing requests, each data processing request directed to data stored in a plurality of shared storage devices and to be executed by an execution platform comprising a plurality of execution nodes, wherein the plurality of execution nodes is logically divided into one or more virtual warehouses, and each virtual warehouse establishes a communication link with each of one or more of the plurality of shared storage devices based at least in part on a respective received data processing request; monitor for each of the one or more virtual warehouses, a current resource utilization, query response rates, and a number of users interacting with the virtual warehouse; determine whether additional processing resources are required based at least in part on the received data processing requests, the current utilization of the one or more virtual warehouses, query response rates of the one or more virtual warehouses and a number of users interacting with each of the one or more virtual warehouses; determine whether additional data storage capacity is needed based on data the received data processing requests; and allocate, in response to determining that additional data storage capacity is needed, one or more additional shared storage devices to the plurality of shared storage devices; and allocate, in response to determining that additional processing resources are required, one or more additional execution nodes to the plurality of execution nodes. - View Dependent Claims (19, 20, 21, 22)
-
Specification