BACKGROUND

The present disclosure relates generally to query processing systems, and more particularly, to serverless query processing.

SUMMARY

The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

Embodiments provide methods, apparatuses, and computer-readable mediums for serverless query processing optimization.

In an aspect, a method of serverless query processing is provided, in a serverless query processing system comprising at least one processor and at least one memory, the at least one memory comprising instructions executed by the at least one processor to process queries. The method includes receiving a query. The method further includes determining whether the query is a recurring query or a non-recurring query. The method further includes predicting, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query. The method further includes computing, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, wherein the tight resource requirement is less than the peak resource requirement. The method further includes allocating resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement. The method further includes starting the execution of the query using the resources.

In another aspect, a device in a serverless query processing system includes at least one processor; and at least one memory in communication with the at least one processor. The at least one memory comprises instructions executed by the at least one processor to process queries including receiving a query; determining whether the query is a recurring query or a non-recurring query; predicting, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query; computing, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, wherein the tight resource requirement is less than the peak resource requirement; allocating resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement; and starting the execution of the query using the resources.

In a further aspect, a serverless query processing apparatus includes a memory and at least one processor coupled to the memory. The at least one processor is configured to process queries including receiving a query; determining whether the query is a recurring query or a non-recurring query; predicting, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query; computing, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, wherein the tight resource requirement is less than the peak resource requirement; allocating resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement; and starting the execution of the query using the resources.

In yet another aspect, a computer-readable medium stores instructions that, when executed by at least one processor of a serverless query processing system, cause the serverless query processing system to process queries including receiving a query; determining whether the query is a recurring query or a non-recurring query; predicting, in response to determining that the query is the recurring query, a peak resource requirement during an execution of the query; computing, in response to determining that the query is the non-recurring query, a tight resource requirement corresponding to an amount of resources that satisfy a performance requirement over the execution of the query, wherein the tight resource requirement is less than the peak resource requirement; allocating resources to the query based on an applicable one of the peak resource requirement or the tight resource requirement; and starting the execution of the query using the resources.

In a further aspect, a query method is provided in a query system comprising at least one processor and at least one memory, the at least one memory comprising instructions executed by the at least one processor to run queries. The query method includes transmitting a query to a serverless query processing system. The query method further includes skipping transmission, to the serverless query processing system, of an amount of resources required for an execution of the query, wherein the skipping is configured to cause the serverless query processing system to determine and allocate the amount of resources required for the execution of the query. The query method further includes receiving results of the execution of the query from the serverless query processing system.

In another aspect, a query device includes at least one processor and at least one memory in communication with the at least one processor. The at least one memory comprises instructions executed by the at least one processor to run queries including transmitting a query to a serverless query processing system; skipping transmission, to the serverless query processing system, of an amount of resources required for an execution of the query, wherein the skipping is configured to cause the serverless query processing system to determine and allocate the amount of resources required for the execution of the query; and receiving results of the execution of the query from the serverless query processing system.

In a further aspect, a query apparatus includes a memory and at least one processor coupled to the memory. The at least one processor is configured to run queries including transmitting a query to a serverless query processing system; skipping transmission, to the serverless query processing system, of an amount of resources required for an execution of the query, wherein the skipping is configured to cause the serverless query processing system to determine and allocate the amount of resources required for the execution of the query; and receiving results of the execution of the query from the serverless query processing system.

In yet another aspect, a computer-readable medium stores instructions that, when executed by at least one processor of a query system, cause the query system to run queries including transmitting a query to a serverless query processing system; skipping transmission, to the serverless query processing system, of an amount of resources required for an execution of the query, wherein the skipping is configured to cause the serverless query processing system to determine and allocate the amount of resources required for the execution of the query; and receiving results of the execution of the query from the serverless query processing system.

To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.

