Patents by Inventor Till Merker
Till Merker has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11962686Abstract: Computer-readable media, methods, and systems are disclosed for handling intermediate data in connection with a database employing group-level encryption. Intermediate data is used during database operation and stored transiently such that the intermediate data is removed from memory upon database restart. To protect the privacy of the intermediate data, a random encryption key may be generated upon startup of a database instance. The random encryption key may be stored transiently. During database operation, the random encryption key may be used to encrypt and/or decrypt the intermediate data. The transient memory may be wiped upon database shut down such that the random encryption key is no longer accessible upon database restart.Type: GrantFiled: December 13, 2021Date of Patent: April 16, 2024Assignee: SAP SEInventors: Dirk Thomsen, Till Merker
-
Patent number: 11960463Abstract: A method for performing a multi-fragment index scan operation included in a query pipeline of a query accessing a database table may include performing an index scan on a first chunk of a first fragment of the database table and a second chunk of a second fragment of the database table. A first output of the index scan on the first chunk of the first fragment of the database table and a second output of the index scan on the second chunk of the second fragment of the database table may be merged to generate a partial result set for ingestion by a next operation in the query pipeline. The multi-fragment index scan operation may continue with index scans on subsequent chunks of the first fragment and second fragment of the database table. Related systems and computer program products are also provided.Type: GrantFiled: May 23, 2022Date of Patent: April 16, 2024Assignee: SAP SEInventors: Andreas Amler, Paul Willems, Till Merker
-
Publication number: 20240095248Abstract: Described herein are systems and method for providing data transfer in a computer-implemented database from a database extension layer. A data server associated with a database receives a request to transfer data stored in a database extension layer of the database. Input data chunks are collected from the database extension layer until a configured row count limit is reached. Row positions are determined from the input data chunks. Value identifiers corresponding to the row positions are determined. Values corresponding to the value identifiers are retrieved. Output data is generated based on the values corresponding to the value identifiers.Type: ApplicationFiled: September 15, 2022Publication date: March 21, 2024Inventors: Canberk Morelli, Till Merker
-
Publication number: 20240086426Abstract: A method for executing a query may include generating a partition value identifier for a partitioned table. The partitioned table may include a main fragment including a main dictionary storing a first value and a main value identifier corresponding to the first value and a delta fragment including a delta dictionary storing a second value and a delta value identifier corresponding to the second value. The partition value identifier may be set based at least in part on the first value and the second value. The generated partition value identifier and a corresponding one of the main value identifier and the delta value identified may be maintained as part of a mapping. A query to group data stored in the partitioned table may be received. The query may be executed by at least using the mapping.Type: ApplicationFiled: November 21, 2023Publication date: March 14, 2024Inventors: Andreas Amler, Jonathan Dees, Till Merker
-
Patent number: 11860906Abstract: A method for executing a query may include generating a partition value identifier for a partitioned table. The partitioned table may include a main fragment including a main dictionary storing a first value and a main value identifier corresponding to the first value and a delta fragment including a delta dictionary storing a second value and a delta value identifier corresponding to the second value. The partition value identifier may be set based at least in part on the first value and the second value. The generated partition value identifier and a corresponding one of the main value identifier and the delta value identified may be maintained as part of a mapping. A query to group data stored in the partitioned table may be received. The query may be executed by at least using the mapping.Type: GrantFiled: May 16, 2022Date of Patent: January 2, 2024Assignee: SAP SEInventors: Andreas Amler, Jonathan Dees, Till Merker
-
Publication number: 20230376405Abstract: A method, a system, and a computer program product for providing one or more checks during execution of queries an application. A query is received for execution by a software application. A just-in-time executable code is generated for execution of the received query. A determination is made that the generated just-in-time executable code is configured to include one or more testing codes for testing the software application. The testing codes are associated with one or more conditions. The generated just-in-time executable code and one or more testing codes are executed. The testing codes are executed upon a determination that one or more conditions are activated.Type: ApplicationFiled: May 17, 2022Publication date: November 23, 2023Inventor: TILL MERKER
-
Publication number: 20230376474Abstract: A table scan predicate with integrated semi-join filter is provided. A method includes receiving a query including: a request to join first data from a first table and second data from a second table, a first predicate for use in a table scan of the second table, and a second predicate including an expression associated with the first data from the first table and a reference to a column associated with the second data from the second table. The method may include transforming the second predicate into a dynamic predicate for execution of the query. the method may include applying the dynamic predicate to at least the first data. The method may include executing the query by at least scanning the second table based on the first predicate and filtered first data from the application of the dynamic predicate. Related systems and articles of manufacture are provided.Type: ApplicationFiled: May 23, 2022Publication date: November 23, 2023Inventors: Manuel Mayr, Wolfgang Stephan, Till Merker
-
Publication number: 20230376473Abstract: A method for performing a multi-fragment index scan operation included in a query pipeline of a query accessing a database table may include performing an index scan on a first chunk of a first fragment of the database table and a second chunk of a second fragment of the database table. A first output of the index scan on the first chunk of the first fragment of the database table and a second output of the index scan on the second chunk of the second fragment of the database table may be merged to generate a partial result set for ingestion by a next operation in the query pipeline. The multi-fragment index scan operation may continue with index scans on subsequent chunks of the first fragment and second fragment of the database table. Related systems and computer program products are also provided.Type: ApplicationFiled: May 23, 2022Publication date: November 23, 2023Inventors: Andreas Amler, Paul Willems, Till Merker
-
Publication number: 20230367819Abstract: 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.Type: ApplicationFiled: May 10, 2022Publication date: November 16, 2023Inventors: Joerg Fellmann, Till Merker, Paul Willems, Dan Bi Park, Heesik Shin, Jin Su Lee, Myunggu Kang
-
Publication number: 20230367791Abstract: A method for executing a query may include generating a partition value identifier for a partitioned table. The partitioned table may include a main fragment including a main dictionary storing a first value and a main value identifier corresponding to the first value and a delta fragment including a delta dictionary storing a second value and a delta value identifier corresponding to the second value. The partition value identifier may be set based at least in part on the first value and the second value. The generated partition value identifier and a corresponding one of the main value identifier and the delta value identified may be maintained as part of a mapping. A query to group data stored in the partitioned table may be received. The query may be executed by at least using the mapping.Type: ApplicationFiled: May 16, 2022Publication date: November 16, 2023Inventors: Andreas Amler, Jonathan Dees, Till Merker
-
Publication number: 20230359671Abstract: 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.Type: ApplicationFiled: May 4, 2022Publication date: November 9, 2023Inventors: Christina Teflioudi, Paul Willems, Till Merker
-
Publication number: 20230359620Abstract: A method for executing a dynamically generated operation in a parallel processing framework may include executing the dynamically generated operation sequentially for a threshold quantity of times before initiating a compilation operation to generate precompiled code for the dynamically generated operation. Upon generating the precompiled code, execution of the precompiled code may be parallelized by determining, based on a quantity of time required to execute the precompiled code on a portion of a dataset, a task size. The execution of the precompiled code may be divided, based on the task size, into one or more tasks. Moreover, a corresponding quantity of worker threads may be allocated to perform the one or more tasks in parallel. Related methods and computer program products are also provided.Type: ApplicationFiled: May 3, 2022Publication date: November 9, 2023Inventors: Christina Teflioudi, Paul Willems, Till Merker
-
Publication number: 20230359622Abstract: A method, a system, and a computer program product for executing a blocked index join. One or more join values for joining data stored in a database in response to a query for accessing data stored in the database are identified. The database stores data in a plurality of tables. Each table has a plurality of columns and a plurality of rows. A mapping of one or more rows in the plurality of rows corresponding to one or more join values to a number of rows including one or more join values is identified. Based on the mapping, a join of one or more join values based on the rows including one or more join values is executed. The joined values are outputted.Type: ApplicationFiled: May 9, 2022Publication date: November 9, 2023Inventor: Till MERKER
-
Publication number: 20230281195Abstract: A method may include receiving, from a first thread of a first operator performing a first operation of a query, a first request for memory allocation or memory deallocation. In response to the first request, a first local data structure of the first thread may be accessed to identify the first operator associated with the first request. A first memory usage metric for the first thread of the first operator may be updated based on the first request. A third memory usage metric for the first operator may be determined based on the first memory usage metric and a second memory usage metric for a second thread of the first operator. A fourth memory usage metric for a second operator may be determined based on a fifth memory usage metric for a third thread used by the second operator to perform a second operation of the query.Type: ApplicationFiled: March 4, 2022Publication date: September 7, 2023Inventor: Till Merker
-
Publication number: 20230281201Abstract: A method for on-demand access to table partitions may include receiving, at a data execution engine, a query accessing a database table divided into a first partition and a second partition stored at different nodes of the database. The data execution engine may respond to the query by acquiring a lock on the database table and instantiating data structures to support the execution of the query without loading any of the partitions of the database table into a main memory. Instead, the loading of the individual partitions of the database table may be delegated to the operators tasked with performing the operations included in the execution plan for the query. Each operator may refrain from loading those partitions of the database table that are determined to be unnecessary for performing the individual operations. Related systems and computer program products are also provided.Type: ApplicationFiled: March 2, 2022Publication date: September 7, 2023Applicant: SAP SEInventors: Till Merker, Paul Willems, Manuel Mayr
-
Publication number: 20230244665Abstract: A system for generating a mixed query plan including operator alternatives. A method may include generating a mixed query plan including a first operator selected as a pre-compiled operator; generating the mixed query plan including a second operator selected as operator alternatives, the operator alternatives configuring the second operator as pre-compiled or code-generating alternatives; delaying selection of one of the operator alternatives until additional information regarding the mixed query plan becomes available; generating the mixed query plan including a third operator selected as a code-generating operator; and selecting, given the third operator representing the additional information, one of the operator alternatives to enable execution of the mixed query plan using the selected operator alternative. Related methods and articles of manufacture are also described.Type: ApplicationFiled: April 10, 2023Publication date: August 3, 2023Inventor: Till Merker
-
Publication number: 20230214393Abstract: 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.Type: ApplicationFiled: March 10, 2023Publication date: July 6, 2023Inventors: Paul Willems, Christina Teflioudi, Till Merker
-
Publication number: 20230188328Abstract: Computer-readable media, methods, and systems are disclosed for handling intermediate data in connection with a database employing group-level encryption. Intermediate data is used during database operation and stored transiently such that the intermediate data is removed from memory upon database restart. To protect the privacy of the intermediate data, a random encryption key may be generated upon startup of a database instance. The random encryption key may be stored transiently. During database operation, the random encryption key may be used to encrypt and/or decrypt the intermediate data. The transient memory may be wiped upon database shut down such that the random encryption key is no longer accessible upon database restart.Type: ApplicationFiled: December 13, 2021Publication date: June 15, 2023Inventors: Dirk Thomsen, Till Merker
-
Patent number: 11675788Abstract: A query is received at a database execution engine. A query plan is generated by the database execution engine and for execution of the query. The query plan includes a first operator including computer executable instructions that upon execution queries a data structure of a database, determines whether the data structure satisfies a precondition for execution of a second operator of the query plan, and generates a signal indicating that the precondition is not satisfied. Execution of the query plan is initiated. A new query plan is generated by the database execution engine and in response to receiving the signal indicating that the precondition is not satisfied. Related systems, methods, and articles of manufacture are also described.Type: GrantFiled: April 1, 2019Date of Patent: June 13, 2023Inventors: Manuel Mayr, Till Merker
-
Patent number: 11650982Abstract: A system for generating a mixed query plan including operator alternatives. A method may include generating a mixed query plan including a first operator selected as a pre-compiled operator; generating the mixed query plan including a second operator selected as operator alternatives, the operator alternatives configuring the second operator as pre-compiled or code-generating alternatives; delaying selection of one of the operator alternatives until additional information regarding the mixed query plan becomes available; generating the mixed query plan including a third operator selected as a code-generating operator; and selecting, given the third operator representing the additional information, one of the operator alternatives to enable execution of the mixed query plan using the selected operator alternative. Related methods and articles of manufacture are also described.Type: GrantFiled: April 1, 2019Date of Patent: May 16, 2023Assignee: SAP SEInventor: Till Merker