-
公开(公告)号:US20240320220A1
公开(公告)日:2024-09-26
申请号:US18302242
申请日:2023-04-18
Applicant: SAP SE
Inventor: Christina Teflioudi , Paul Willems , Till Merker
IPC: G06F16/2453 , G06F16/2455
CPC classification number: G06F16/24545 , G06F16/24568
Abstract: In some example embodiments, there is provided a method that includes receiving a query for query plan generation and query plan optimization; detecting whether the query plan includes a restart pipeline, the restart pipeline including one or more first operators that cause a query plan restart; detecting whether the query plan includes a result pipeline, the result pipeline including one or more second operators that provide result streaming; determining whether there is a dependency between execution of the restart pipeline and execution of the result pipeline; in response to determining there is no dependency, reordering the restart pipeline in the query plan such that the restart pipeline will be executed before the result pipeline in order to enable result streaming optimization; and providing the reordered query plan for execution. Related systems and computer program products are also provided.
-
公开(公告)号:US11947514B2
公开(公告)日:2024-04-02
申请号:US17733507
申请日:2022-04-29
Applicant: SAP SE
Inventor: Stefan Noll , Paul Willems
IPC: G06F16/22 , G06F16/23 , G06F16/2453 , G06F16/2455 , G06F16/28
CPC classification number: G06F16/2282 , G06F16/2322 , G06F16/2329 , G06F16/24532 , G06F16/24564 , G06F16/285 , G06F16/288
Abstract: A method for processing non-standardized data in a relational database may include identifying, within a sequence of operations forming a query pipeline for executing a query, a first operation ingesting a non-standardized data. In response to identifying the first operation ingesting the non-standardized data, a second operation may be inserted before the first operation. The non-standardized data may be output by a third operation preceding the first operation or a source external to the query pipeline. The second operation may serialize the non-standardized data for ingestion by the first operation, for example, by generating a relational table populated by the non-standardized data. The query may be executed by performing the sequence of operations included in the query pipeline. Related systems and computer program products are also provided.
-
公开(公告)号:US20230367819A1
公开(公告)日:2023-11-16
申请号:US17741328
申请日:2022-05-10
Applicant: SAP SE
Inventor: Joerg Fellmann , Till Merker , Paul Willems , Dan Bi Park , Heesik Shin , Jin Su Lee , Myunggu Kang
IPC: G06F16/903
CPC classification number: G06F16/90335
Abstract: A global index with a repartitioning operator is provided. A method for executing a query includes receiving a query including a request to search a first table based on a first value in a first column. The method may include generating a second table by partitioning the second table based on the first column and including, in the second table, a partition identifier and a reference row identifier. The method may include pruning the second table such that a row corresponding to the first value remains in the second table. The method may include repartitioning the row to a stream based on the partition identifier. The method may include executing the query by at least searching the partition of the first table based on the stream and the row identifier of the row. Related systems and articles of manufacture are provided.
-
公开(公告)号:US20230359671A1
公开(公告)日:2023-11-09
申请号:US17736404
申请日:2022-05-04
Applicant: SAP SE
Inventor: Christina Teflioudi , Paul Willems , Till Merker
IPC: G06F16/903
CPC classification number: G06F16/90335
Abstract: A method for parallelization may include identifying, within a sequence of operations comprising a query pipeline for executing a query, a workload skewing operation whose input dataset and output dataset exhibit an above-threshold difference in size. A reparallelization point may be inserted in the query pipeline subsequent to the workload skewing operation. The reparallelization point including a scheduling operation configured to determine a task size for performing one or more operations following the workload skewing operation in the query pipeline. The query may be executed by performing the sequence of operations comprising the query pipeline. Related systems and computer program products are also provided.
-
公开(公告)号:US20230334059A1
公开(公告)日:2023-10-19
申请号:US17723949
申请日:2022-04-19
Applicant: SAP SE
Inventor: Alexander Gellner , Paul Willems
IPC: G06F16/248 , G06F16/23
CPC classification number: 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.
-
公开(公告)号:US20230281055A1
公开(公告)日:2023-09-07
申请号:US17688212
申请日:2022-03-07
Applicant: SAP SE
Inventor: Christina Teflioudi , Paul Willems
CPC classification number: G06F9/505 , G06F9/4881
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.
-
公开(公告)号:US11556537B2
公开(公告)日:2023-01-17
申请号:US16370556
申请日:2019-03-29
Applicant: SAP SE
Inventor: Paul Willems , Christina Teflioudi , Till Merker
IPC: G06F16/00 , G06F16/2453 , G06F16/22
Abstract: Aspects of the current subject matter are directed to executing queries on tables in which one or more columns contain a single value. Upon execution of a query, columns in which a single value is contained are identified, and a pre-compiled code entry containing relevant identifying information is compiled as part of a query execution plan. The query execution plan is used for subsequent query executions, alleviating the need to access the columns during the subsequent query executions that involve the columns. A fingerprint value may be used to track if changes to relevant tables occur.
-
公开(公告)号:US11487737B2
公开(公告)日:2022-11-01
申请号:US16364521
申请日:2019-03-26
Applicant: SAP SE
Inventor: Till Merker , Christina Teflioudi , Paul Willems
Abstract: In some aspects, there is provided a method that may include: intercepting a query requiring access to data stored in a table. The query may include an identifier, which may be associated with a row of the table and a reference to a column of the table. The method may further include preparing a table object to enable access to the data stored in the row and the column of the table. The preparing may include locating the row associated with the identifier. The preparing may further include acquiring locks for the data stored in the located row and the column in the row. The method may also include executing the query upon preparing the table object. Related systems, methods, and articles of manufacture are also described.
-
公开(公告)号:US11372927B2
公开(公告)日:2022-06-28
申请号:US16375083
申请日:2019-04-04
Applicant: SAP SE
Inventor: Oliver Horn , Till Merker , Paul Willems
IPC: G06F16/24 , G06F16/903 , G06F12/0802 , G06F16/2455
Abstract: A method, a system, and a computer program product for executing a query in a database system. A query plan for execution of a query is generated. The query requires access to at least one table stored in a database system. One or more occurrences of one or more duplicate predicates is detected in the query plan. In response to detecting a first occurrence of the duplicate predicates, one or more intermediate query execution results responsive to the duplicate predicates are generated. The generated intermediate query execution results are cached. Query execution results incorporating cached intermediate query execution results being responsive to each occurrence of the duplicate predicates subsequent to the first occurrence of the duplicate predicates in the query plan are generated.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-