SQL execution plan verification
US-10229158-B2 · Mar 12, 2019 · US
US11727003B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11727003-B2 |
| Application number | US-202117547831-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 10, 2021 |
| Priority date | Nov 26, 2021 |
| Publication date | Aug 15, 2023 |
| Grant date | Aug 15, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Scaling of query processing resources for efficient utilization and performance is implemented for a database service. A query is received via a network endpoint associated with a database managed by a database service. Respective response times predicted for the query using different query processing configurations available to perform the query are determined. Those query processing configurations with response times that exceed a variability threshold determined for the query may be excluded. A remaining query processing configuration may then be selected to perform the query.
Opening claim text (preview).
What is claimed is: 1. A database service, comprising: one or more computing devices, respectively comprising a processor and a memory, configured to implement a proxy service for the database service, wherein the proxy service is configured to: receive a query via a network endpoint associated with a database, wherein the database is managed by the database service, wherein the database was created in response to a request that specified that the database was to be managed by the database service; determine respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service; determine the respective response times for one or more query processing configurations exceed a variability threshold determined for the query; exclude the one or more query processing configurations of the plurality of query processing configurations to determine a remaining one or more query processing configurations; select one of the remaining one or more query processing configurations to perform the query; route the query to the selected query processing configuration to be performed; and return a response to the query received from the selected query processing configuration. 2. The system of claim 1 , wherein to determine the respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service, the proxy service is configured to: predict respective execution times of the query using the plurality of query processing configurations; determine respective bootstrap times to prepare the plurality of query processing configurations; determine respective queue times for the query at the plurality of query processing configurations to perform the query; and add the respective execution times, bootstrap times, and queue times to determine the respective response times predicted for the query. 3. The system of claim 1 , wherein the selected one of the remaining one or more query processing configurations to perform the query is not attached to the database, and wherein the proxy service is further configured to request a control plane of the database service to attach the selected one of the remaining one or more query processing configurations to the database in order to be routed the query for performance. 4. The system of claim 3 , wherein the proxy service is further configured to determine that a query processing resource limit for the database is not exceeded by attaching the selected one of the remaining one or more query processing configurations. 5. A method, comprising: receiving a query via a network endpoint associated with a database managed by a database service; determining, by the database service, respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service; excluding, by the database service, one or more query processing configurations of the plurality of query processing configurations to determine a remaining one or more query processing configurations responsive to determining the respective response times for the one or more query processing configurations exceed a variability threshold determined for the query; and selecting, by the database service, one of the remaining one or more query processing configurations to perform the query. 6. The method of claim 5 , wherein determining the respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service, comprises: predicting respective execution times of the query using the plurality of query processing configurations; determining respective bootstrap times to prepare the plurality of query processing configurations; determining respective queue times for the query at the plurality of query processing configurations to perform the query; and adding the respective execution times, bootstrap times, and queue times to determine the respective response times predicted for the query. 7. The method of claim 6 , wherein predicting respective execution times of the query using the plurality of query processing configurations comprises applying a trained machine learning model that accepts as input a plan to perform the query and a query processing configuration to make the prediction of an execution time for the query processing configuration. 8. The method of claim 5 , further comprising: disabling prediction of response times for subsequent queries responsive to determining that a prediction accuracy for queries fails to satisfy an accuracy criteria. 9. The method of claim 5 , further comprising: disabling prediction of response times for subsequent queries responsive to determining that a prorated variability exceeds a threshold variability target for an execution range of time. 10. The method of claim 5 , wherein the selected one of the remaining one or more query processing configurations to perform the query is already attached to the database. 11. The method of claim 5 , wherein the selected one of the remaining one or more query processing configurations to perform the query is not attached to the database, and wherein the method further comprises causing the selected one of the remaining one or more query processing configurations to be attached to the database in order to be routed the query for performance. 12. The method of claim 11 , further comprising determining that a query processing resource limit for the database is not exceeded by attaching the selected one of the remaining one or more query processing configurations. 13. The method of claim 5 , further comprising: determining that a query processing resource limit for the database is exceeded by attaching the selected one of the remaining one or more query processing configurations; and selecting a different one of the one or more remaining query processing configurations to perform the query that does not cause the query processing resource limit for the database to be exceeded. 14. One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement a database service that implements: receiving a query via a network endpoint associated with a database managed by the database service; determining respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service; determining the respective response times for one or more query processing configurations exceed a variability threshold determined for the query; excluding the one or more query processing configurations of the plurality of query processing configurations to determine a remaining one or more query processing configurations; selecting one of the remaining one or more query processing configurations to perform the query; and causing the query to be performed at the selected query processing configuration. 15. The one or more non-transitory, computer-readable storage media of claim 14 , wherein, in determining the respective response times predicted for the query using a plurality of query processing configurations available to perform the query at the database service, the program instructions cause the one or more computing devices to implement: predicting respective execution times of the query using the plurality of query process
Selectivity estimation or determination · CPC title
of operators · CPC title
Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.