Scheduling of query pipeline execution

US11874835B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11874835-B2
Application numberUS-202217674313-A
CountryUS
Kind codeB2
Filing dateFeb 17, 2022
Priority dateNov 8, 2021
Publication dateJan 16, 2024
Grant dateJan 16, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system includes reception of a query execution plan associated with a plurality of query execution pipelines, estimated execution costs and estimated intermediate result cardinalities, determination of one or more precedence relationships of the plurality of query execution pipelines, determination of an execution order of the plurality of query execution pipelines based on the estimated execution costs, the estimated intermediate result cardinalities, and the one or more precedence relationships, and providing of the execution order of the plurality of query execution pipelines and the query execution plan to a query execution engine.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a memory storing processor-executable program code; and a processing unit to execute the processor-executable program code in order to cause the system to: receive a query execution plan associated with a plurality of query execution pipelines, estimated execution costs and estimated intermediate result cardinalities; determine one or more precedence relationships of the plurality of query execution pipelines; determine a plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships; for each of the plurality of execution orders, determine a memory size and lifetime of intermediate results of each pipeline based on the estimated execution costs and the estimated intermediate result cardinalities; determine an execution order from the plurality of query execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution orders; and provide the execution order of the plurality of query execution pipelines and the query execution plan to a query execution engine. 2. A system according to claim 1 , wherein determination of the execution order comprises: determination of a memory cost of each of the plurality of execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution orders; and determination of the execution order from the plurality of execution orders based on the memory costs determined for each of the plurality of execution orders. 3. A system according to claim 2 , wherein determination of the execution order from the plurality of execution orders comprises determination of one of the plurality of execution orders having a lowest memory cost. 4. A system according to claim 2 , wherein determination of the plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships comprises: determination of one of the plurality of query execution pipelines having a memory cost below a threshold, wherein the determined plurality of execution orders do not include the one of the plurality of query execution pipelines having a memory cost below a threshold. 5. A system according to claim 1 , wherein determination of the execution order comprises: determination of a longest pipeline path to which each of the plurality of query execution pipelines belongs, and based on the one or more precedence relationships; and determination of the execution order based on the longest pipeline path to which each of the plurality of query execution pipelines belongs. 6. A system according to claim 5 , wherein determination of the execution order comprises: determination of a first execution order based on the longest pipeline path to which each of the plurality of query execution pipelines belongs; determination of a plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships; determination of a memory cost of the first execution order based on the memory size and lifetime of intermediate results of each pipeline determined for the first execution order; determination of a memory cost of each of the plurality of execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution orders, wherein determination of a memory cost of one of the plurality of execution orders terminates if the memory cost of the one of the plurality of execution orders will exceed the memory cost of the first execution order; and determination of the execution order from the plurality of execution orders based on the memory cost determined for each of the plurality of execution orders. 7. A system according to claim 6 , wherein determination of the plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships comprises: determination of one of the plurality of query execution pipelines having a memory cost below a threshold, wherein the determined plurality of execution orders do not include the one of the plurality of query execution pipelines having a memory cost below a threshold. 8. A computer-implemented method comprising: receiving a query execution plan associated with a plurality of query execution pipelines, estimated execution costs and estimated intermediate result cardinalities; determining one or more precedence relationships of the plurality of query execution pipelines; determining a plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships; for each of the plurality of execution orders, determining a memory size and lifetime of intermediate results of each pipeline based on the estimated execution costs and the estimated intermediate result cardinalities; determining an execution order from the plurality of query execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution order; and providing the execution order of the plurality of query execution pipelines and the query execution plan to a query execution engine. 9. A method according to claim 8 , wherein determining the execution order comprises: determining a memory cost of each of the plurality of execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution orders; and determining the execution order from the plurality of execution orders based on the memory cost determined for each of the plurality of execution orders. 10. A method according to claim 9 , wherein determining the execution order from the plurality of execution orders comprises determining one of the plurality of execution orders having a lowest memory cost. 11. A method according to claim 9 , wherein determining the plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships comprises: determining one of the plurality of query execution pipelines having a memory cost below a threshold, wherein the determined plurality of execution orders do not include the one of the plurality of query execution pipelines having a memory cost below a threshold. 12. A method according to claim 8 , wherein determining the execution order comprises: determining a longest pipeline path to which each of the plurality of query execution pipelines belongs, based on the one or more precedence relationships; and determining the execution order based on the longest pipeline path to which each of the plurality of query execution pipelines belongs. 13. A method according to claim 12 , wherein determining the execution order comprises: determining a first execution order based on the longest pipeline path to which each of the plurality of query execution pipelines belongs; determining a plurality of execution orders of the plurality of query execution pipelines based on the one or more precedence relationships; determining a memory cost of the first execution order based on the memory size and lifetime of intermediate results of each pipeline determined for the first execution order; determining a memory cost of each of the plurality of execution orders based on the memory size and lifetime of intermediate results of each pipeline determined for each of the plurality of execution orders, wherein determination of a memory c

Assignees

Inventors

Classifications

  • Join order optimisation · CPC title

  • for performance assessment · CPC title

  • Hash tables · CPC title

  • using cached or materialised query results · CPC title

  • Sequence data queries, e.g. querying versioned data · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11874835B2 cover?
A system includes reception of a query execution plan associated with a plurality of query execution pipelines, estimated execution costs and estimated intermediate result cardinalities, determination of one or more precedence relationships of the plurality of query execution pipelines, determination of an execution order of the plurality of query execution pipelines based on the estimated exec…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/24544. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 16 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).