-
公开(公告)号:US20210311946A1
公开(公告)日:2021-10-07
申请号:US16837843
申请日:2020-04-01
Applicant: SAP SE
Inventor: Xun Cheng , Zhen Tian , Yuncong Qiao , Faming Qu , Paul Willems , Hongyong Lu , Yanxin Luo , Nitesh Maheshwari
IPC: G06F16/2453
Abstract: A method, a system, and a computer program product for generating a query executable plan. A query requiring access to data stored in a database system is received. Based on the received query, a query execution plan having a plurality of query execution pipelines is generated. Each query execution pipeline in the plurality of query execution pipelines is configured to execute a plurality of operations in a predetermined order associated with each query execution pipeline. The generated query execution plan is fragmented into a plurality of fragments. Each fragment has one or more query execution pipelines in the plurality of query execution pipelines. The received query is executed by executing each fragment in the plurality of fragments.
-
公开(公告)号:US11080276B2
公开(公告)日:2021-08-03
申请号:US15904192
申请日:2018-02-23
Applicant: SAP SE
Inventor: Florian Wolf , Norman May , Paul Willems , Kai-Uwe Sattler
IPC: G06F16/2453
Abstract: In some implementations, there is provided an apparatus having at least one data processor and at least one memory storing instructions which, when executed by the at least one data processor, cause executing at least a portion of a query execution plan; determining, at an edge including an intermediate result, a cardinality; proceeding with the execution of the query execution plan, when the determined cardinality is within an optimality range associated with the edge; and selecting an alternative query execution plan for execution, when the determined cardinality is outside the optimality range associated with the edge. Related systems and articles of manufacture are also provided.
-
公开(公告)号:US20200311066A1
公开(公告)日:2020-10-01
申请号:US16370580
申请日:2019-03-29
Applicant: SAP SE
Inventor: Paul Willems , Christina Teflioudi , Till Merker
IPC: G06F16/2455 , G06F16/248
Abstract: Aspects of the current subject matter are directed to providing query results to clients by incorporating pause and/or detach operations into the query execution after a first fetch of results. The pause and the detach operations for query execution consistent with implementations of the current subject matter result in reduced times and conserved resources in providing query results by computing only results necessary to satisfy a first fetch call prior to computing results necessary to satisfy subsequent fetch calls.
-
公开(公告)号:US20190266272A1
公开(公告)日:2019-08-29
申请号:US15904192
申请日:2018-02-23
Applicant: SAP SE
Inventor: Florian Wolf , Norman May , Paul Willems , Kai-Uwe Sattler
IPC: G06F17/30
Abstract: In some implementations, there is provided an apparatus having at least one data processor and at least one memory storing instructions which, when executed by the at least one data processor, cause executing at least a portion of a query execution plan; determining, at an edge including an intermediate result, a cardinality; proceeding with the execution of the query execution plan, when the determined cardinality is within an optimality range associated with the edge; and selecting an alternative query execution plan for execution, when the determined cardinality is outside the optimality range associated with the edge. Related systems and articles of manufacture are also provided.
-
公开(公告)号:US10372707B2
公开(公告)日:2019-08-06
申请号:US15363545
申请日:2016-11-29
Applicant: SAP SE
Inventor: Paul Willems , Oliver Horn
IPC: G06F17/30 , G06F16/2453
Abstract: A system for query execution and planning with pipelining and pump operators is provided. In some implementations, the system performs operations comprising identifying a plurality of operators for executing a query, the plurality of operators including a first operator and a second operator, generating a pump operator when the first operator comprises a table scan operator, and/or generating a query plan for execution of the query, the query plan comprising the pump operator and the second operator. The operations can further include executing the pump operator to at least retrieve a portion of a database table, generate a first data portion based on the portion of the database table, and provide the first data portion for the second operator. Related systems, methods, and articles of manufacture are also described.
-
公开(公告)号:US20250045118A1
公开(公告)日:2025-02-06
申请号:US18924585
申请日:2024-10-23
Applicant: SAP SE
Inventor: Christina Teflioudi , Paul Willems
Abstract: A method for allocating worker threads may include receiving a first fetch call for a query accessing a dataset stored at a database. The first fetch call may require a first portion of a result for the query. A first quantity of worker threads may be allocated to generate the first portion of the result for the query in response to the first fetch call. In response to a second fetch call for the query by determining a threshold corresponding to the first quantity of worker threads, a second quantity of data required for the second fetch call, and a third quantity of data buffered from the first fetch call. A second quantity of worker threads to generate a second portion of the result for the query may be allocated based on the threshold. Related systems and computer program products are also provided.
-
公开(公告)号:US20250036627A1
公开(公告)日:2025-01-30
申请号:US18358270
申请日:2023-07-25
Applicant: SAP SE
Inventor: Marius Eich , Christina Teflioudi , Paul Willems
IPC: G06F16/2455 , G06F16/2453
Abstract: In some implementations, there is provided executing a query execution plan for a query; setting a first flag to indicate to a plurality of worker threads to stop executing tasks in a first queue of a memory stack; pushing into the memory stack, a second queue containing one or more exclusive tasks associated with the query; setting a second flag to indicate to the plurality of worker threads to resume working; and in response to the second queue being empty of the one or more exclusive tasks, setting a third flag to indicate to the plurality of worker threads to stop executing tasks in the second queue, and setting a fourth flag to indicate to the plurality of worker threads to resume working on the tasks in the first queue.
-
公开(公告)号:US20250028724A1
公开(公告)日:2025-01-23
申请号:US18354963
申请日:2023-07-19
Applicant: SAP SE
Inventor: Alexander Ostertag , Paul Willems
IPC: G06F16/2453
Abstract: In some implementations, there is provided pipeline bypassing of certain operators. In some implementations, a method includes generating a query plan including at least one pipeline of operators; determining whether the at least one pipeline of operators includes a first operator that requires a complete result set as an input and further includes a second operator that supports providing the complete result set using a state identified by a state reference; and in response to determining the at least one pipeline of operators includes the first operator that requires the complete result set as the input and further includes the second operator that supports providing the complete result set using the state identified by the state reference, bypassing in the query plan pipelining between the first operator and the second operator.
-
公开(公告)号:US12204537B1
公开(公告)日:2025-01-21
申请号:US18355318
申请日:2023-07-19
Applicant: SAP SE
Inventor: Christina Teflioudi , Paul Willems , Till Merker
IPC: G06F16/20 , G06F16/2453
Abstract: In some implementations, there is provided a method that includes receiving a query request including a top k query operator for query plan generation, optimization, and execution, wherein k defines a threshold limit of query results for the top k query operator; inserting into a query plan a check operator associated with the top k query operator; in response to executing the query plan, checking, by the check operator, whether an early exit occurs due to the top k query operator reaching the threshold limit; in response to the early exit occurring due to the top k query operator reaching the threshold limit, stopping processing, by the check operator, including opening of another fragment of a database table; and in response to the early exit not occurring, allowing, by the check operator, the opening of the other fragment of the database table.
-
公开(公告)号:US12197453B2
公开(公告)日:2025-01-14
申请号:US18453605
申请日:2023-08-22
Applicant: SAP SE
Inventor: Alexander Gellner , Paul Willems
IPC: G06F16/248 , G06F16/23
Abstract: A method for performing a parallelized heapsort operation may include updating, by a first worker thread, a first buffer while a second worker thread updates a second buffer in parallel. The first worker thread may update the first buffer by adding, to the first buffer, elements from a first partition of a dataset. The second worker thread may update the second buffer by adding, to the second buffer, elements from a second partition of the dataset. Upon the first buffer reaching a threshold size, the first worker thread may acquire a lock for the first worker thread to update a heap based on the first buffer while the second worker thread is prevented from updating the heap based on the second buffer. A result of a top k query comprising a k quantity of smallest elements from the dataset may be generated based on the heap.
-
-
-
-
-
-
-
-
-