Cooperative preemption in a distributed multi-tenant resource pool
US-11128701-B1 · Sep 21, 2021 · US
US12197437B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12197437-B2 |
| Application number | US-202318171245-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 17, 2023 |
| Priority date | Sep 29, 2021 |
| Publication date | Jan 14, 2025 |
| Grant date | Jan 14, 2025 |
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.
When a query is received by a stateful data processing service, the service determines, for each table scan (and associated operations) of a query, whether to select the table scan for execution by a stateless data processing service. The selected table scans are sent to the stateless data processing service for execution, and results are received by the stateful data processing service. The stateful data processing service may also execute other table scans of the query locally, against a local data cache. If the data is not present in the local data cache, then the stateful data processing service will copy the table data into the local data cache before executing the table scan. A query result based on the remote and/or local table scans may then be returned to the client.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: one or more processors; and one or more memories, wherein the one or more memories have stored thereon instructions, which when executed by the one or more processors of a provider network, cause the one or more processors to implement a stateful data processing service, wherein the stateful data processing service is configured to: receive, from a client, a query for a database, wherein the query indicates table operations to be performed on one or more tables of a database; select by the stateful data processing service, from among the table operations of the query to be performed and based on one or more criteria, at least one table operation of the query to be performed on at least one table of the database by a stateless data processing service instead of the stateful data processing service, wherein at least one remaining table operation of the received query is performed by the stateful data processing service, and wherein data of the at least one table is accessible to both the stateless data processing service and the stateful data processing service; send an indication of the at least one table operation to a stateless data processing service; receive one or more results from the stateless data processing service, wherein the one or more results are based on performance, by the stateless data processing service, of the at least one table operation on the at least one of the tables of the database; and generate, for the client, a query result based at least on the one or more results. 2. The system as recited in claim 1 , wherein to select, based on one or more criteria, at least one table operation from among the table operations to be performed, the stateful data processing service is further configured to: determine that an amount of time to perform the at least one table operation by the stateless data processing service will be less than an amount of time to perform the at least one table operation by the stateful data processing service. 3. The system as recited in claim 1 , wherein to select, based on one or more criteria, at least one table operation from among the table operations to be performed, the stateful data processing service is further configured to determine one or more of: a size of a table to be scanned by the at least one table operation is above a threshold size, or a number of requests to be made by the stateless data processing service to perform the at least one table operation is above a threshold number. 4. The system as recited in claim 1 , wherein to select, based on one or more criteria, at least one table operation from among the table operations to be performed, the stateful data processing service is further configured to determine that: no data of a table to be scanned by the at least one table operation is stored by the stateful data processing service, or an amount of data of the table to be scanned by the at least one table operation that is stored by the stateful data processing service is less than a threshold amount. 5. The system as recited in claim 1 , wherein to select, based on one or more criteria, at least one table operation from among the table operations to be performed, the stateful data processing service is further configured to determine that: an amount of data returned by the at least one table operation is less than a threshold amount. 6. The system as recited in claim 1 , wherein to select, based on one or more criteria, at least one table operation from among the table operations to be performed, the stateful data processing service is further configured to: determine that compute resource usage to perform the at least one table operation is above a threshold amount. 7. The system as recited in claim 1 , wherein at least a portion of the tables is stored by a data cache of the stateful data processing service, and wherein the stateful data processing service is further configured to: perform another table operation on the data cache to generate another result, and wherein to generate the query result, the stateful data processing service is configured to generate the query result based at least on the one or more results and the other result. 8. A method, comprising: performing, by a stateful data processing service implemented by a plurality of computing devices: receiving, from a client, a query for a database, wherein the query indicates table operations to be performed on one or more tables of a database; selecting by the stateful data processing service, from among the table operations of the query to be performed and based on one or more criteria, at least one table operation of the query to be performed on at least one table of the database by a stateless data processing service instead of the stateful data processing service, wherein at least one remaining table operation of the received query is performed by the stateful data processing service, and wherein data of the at least one table is accessible to both the stateless data processing service and the stateful data processing service; sending an indication of the at least one table operation to a stateless data processing service; receiving one or more results from the stateless data processing service, wherein the one or more results are based on performance, by the stateless data processing service, of the at least one table operation on the at least one of the tables of the database; and generating, for the client, a query result based at least on the one or more results. 9. The method as recited in claim 8 , wherein selecting, based on one or more criteria, at least one table operation from among the table operations to be performed comprises: determining that an amount of time to perform the at least one table operation by the stateless data processing service will be less than an amount of time to perform the at least one table operation by the stateful data processing service. 10. The method as recited in claim 8 , wherein selecting, based on one or more criteria, at least one table operation from among the table operations to be performed comprises determining one or more of: a size of a table to be scanned by the at least one table operation is above a threshold size, or a number of requests to be made by the stateless data processing service to perform the at least one table operation is above a threshold number. 11. The method as recited in claim 8 , wherein selecting, based on one or more criteria, at least one table operation from among the table operations to be performed comprises determining that: no data of a table to be scanned by the at least one table operation is stored by the stateful data processing service, or an amount of data of the table to be scanned by the at least one table operation that is stored by the stateful data processing service is less than a threshold amount. 12. The method as recited in claim 8 , wherein selecting, based on one or more criteria, at least one table operation from among the table operations to be performed comprises determining that: an amount of data returned by the at least one table operation is less than a threshold amount. 13. The method as recited in claim 8 , wherein selecting, based on one or more criteria, at least one table operation from among the table operations to be performed comprises: determining that compute resource usage to perform the at least one table operation is above a threshold amount. 14. The method as recited in claim 8 , wherein at least a portion of the tables is stored by a data cache of the stateful data processing service, and further co
Plan optimisation · CPC title
using cached or materialised query results · CPC title
of operators · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.