Resource provisioning systems and methods
AssigneeSnowflake Inc.
InventorsBenoit Dageville, Thierry Cruanes, Marcin Zukowski
Life of this patent
Estimating the term…
Abstract
Example resource provisioning systems and methods are described. In one implementation, multiple processing resources are provided within a data warehouse. The processing resources include at least one processor and at least one storage device. At least one query to process database data is received. At least some of the processing resources may process the database data. When a processing capacity of the processing resources has reached a threshold processing capacity, the processing capacity is automatically scaled by adding at least one additional processor to the data warehouse.
Claims30
A method comprising:
- providing a plurality of computation resources, the plurality of computation resources comprising at least one processing core and at least one storage device;
- receiving one or more processing requests to process database data stored on a storage platform comprising a plurality of share storage devices in association with the plurality of computation resources, wherein at least some of the plurality of computation resources process the database data;
- providing metadata, wherein the metadata allows the plurality of computation resources to determine whether a piece of data should be accessed from the plurality of share storage devices;
- periodically reporting statistics regarding the processing capacity of the plurality of computation resources and the storage capacity associated with the plurality of computation resources;
- and
- automatically scaling the processing capacity of the plurality of computation resources and the storage capacity of the storage platform based on the reported statistics simultaneously by adding additional computation resources to the cluster and by adding at least one additional storage device.
A system, comprising:
- a memory;
- and
- a processor operatively coupled to the memory, the processor to:
- provide a plurality of computation resources, the plurality of computation resources comprising at least one processing core and at least one storage device;
- receive one or more processing requests to process database data stored on a storage platform comprising a plurality of share storage devices in association with the plurality of computation resources, wherein at least some of the plurality of computation resources process the database data;
- provide metadata, wherein the metadata allows the plurality of computation resources to determine whether a piece of data should be accessed from the plurality of share storage devices;
- periodically report statistics regarding the processing capacity of the plurality of computation resources and the storage capacity associated with the plurality of computation resources;
- and
- automatically scale the processing capacity of the plurality of computation resources and the storage capacity of the storage platform based on the reported statistics simultaneously by adding additional computation resources to the cluster and by adding at least one additional storage device.
A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to:
- provide a plurality of computation resources, the plurality of computation resources comprising at least one processing core and at least one storage device;
- receive one or more processing requests to process database data stored on a storage platform comprising a plurality of share storage devices in association with the plurality of computation resources, wherein at least some of the plurality of computation resources process the database data;
- provide metadata, wherein the metadata allows the plurality of computation resources to determine whether a piece of data should be accessed from the plurality of share storage devices;
- periodically report statistics regarding the processing capacity of the plurality of computation resources and the storage capacity associated with the plurality of computation resources;
- and
- automatically scaling the processing capacity of the plurality of computation resources and the storage capacity of the storage platform based on the reported statistics simultaneously by adding additional computation resources to the cluster and by adding at least one additional storage device.
Dependencies are inferred from the claim text.