-
公开(公告)号:US11947515B2
公开(公告)日:2024-04-02
申请号:US17752766
申请日:2022-05-24
Applicant: Oracle International Corporation
Inventor: Pit Fender , Felix Schmidt , Benjamin Schlegel
CPC classification number: G06F16/2282 , G06F7/08 , G06F16/212 , G06F16/221 , G06F16/258 , H03M7/3088
Abstract: Unsorted sparse dictionary encodings are transformed into unsorted-dense or sorted-dense dictionary encodings. Sparse domain codes have large gaps between codes that are adjacent in order. Unlike spare codes, dense codes have smaller gaps between adjacent codes; consecutive codes are dense codes that have no gaps between adjacent codes. The techniques described herein are relational approaches that may be used to generate sparse composite codes and sorted codes.
-
公开(公告)号:US11468064B2
公开(公告)日:2022-10-11
申请号:US16394998
申请日:2019-04-25
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Matthias Brantner , Cagri Balkesen , Nipun Agarwal
IPC: G06F16/2453 , G06F16/248 , G06F16/2455
Abstract: The manner in which tables are joined can affect the outcome of the query and database performance. Example types of join operations include semi-join and inner-join. The techniques described herein are approaches that may be used to substitute a semi-join operator with an inner-join operator and may be used to transform and optimize representations of queries.
-
公开(公告)号:US11269874B2
公开(公告)日:2022-03-08
申请号:US16823632
申请日:2020-03-19
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Alexander Ulrich
IPC: G06F16/245 , G06F16/2453
Abstract: The present invention relates to data manipulation language (DML) acceleration. Herein are database techniques to use value range analysis and range-limited execution operators when a value is excluded. In an embodiment, a computer receives a data access request that specifies an expression that includes operator(s), including a particular operator that has argument(s) that has only three possible values. Before detecting the actual value of a particular argument, the computer detects that a particular value of the three possible values is excluded for the particular argument. Responsively, an implementation of the particular operator that never accepts the particular value for the particular argument is selected. Applying the expression to fulfil the data access request entails invoking the selected implementation of the particular operator.
-
公开(公告)号:US11231935B2
公开(公告)日:2022-01-25
申请号:US16846773
申请日:2020-04-13
Applicant: Oracle International Corporation
Inventor: Benjamin Schlegel , Pit Fender , Matthias Brantner , Hassan Chafi
Abstract: Vectorized sorted-set intersection is performed using conflict-detection single instruction, multiple data (SIMD) instructions. A first ordered subset of values of a first ordered set of distinct values and a second ordered subset of values of a second ordered set of distinct values is loaded into a register. A first value in the register that matches another value in the register (i.e., common values) is identified by performing an SIMD instruction. The first value is then stored in a result set representing a merge-sort result set between the first ordered set of distinct values and the second ordered set of distinct values.
-
公开(公告)号:US20210271711A1
公开(公告)日:2021-09-02
申请号:US16803832
申请日:2020-02-27
Applicant: Oracle International Corporation
Inventor: Benjamin Schlegel , Martin Sevenich , Pit Fender , Matthias Brantner , Hassan Chafi
IPC: G06F16/901 , G06F9/54 , G06F9/38
Abstract: Techniques are described for a vectorized queue, which implements a vectorized ‘contains’ function that determines whether a value is in the queue. A three-phase vectorized shortest-path graph search splits each expanding and probing iteration into three phases that utilize vectorized instructions: (1) The neighbors of nodes that are in a next queue are fetched and written into a current queue. (2) It is determined whether the destination node is among the fetched neighbor nodes in the current queue. (3) The fetched neighbor nodes that have not yet been visited are put into the next queue. According to an embodiment, a vectorized copy operation performs vector-based data copying using vectorized load and store instructions. Specifically, vectors of data are copied from a source to a destination. Any invalid data copied to the destination is overwritten, either with a vector of additional valid data or with a vector of nonce data.
-
公开(公告)号:US10990596B2
公开(公告)日:2021-04-27
申请号:US16442015
申请日:2019-06-14
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Matthias Brantner
IPC: G06F16/2453 , G06F16/28
Abstract: Approaches herein transparently delegate data access from a relational database management system (RDBMS) onto an offload engine (OE). The RDBMS receives a database statement referencing a user defined function (UDF). In an execution plan, the RDBMS replaces the UDF reference with an invocation of a relational operator in the OE. Execution invokes the relational operator in the OE to obtain a result based on data in the OE. Thus, the UDF is bound to the OE, and almost all of the RDBMS avoids specially handling the UDF. The UDF may be a table function that offloads a relational table for processing. User defined objects such as functions and types provide metadata about the table. Multiple tables can be offloaded and processed together, such that some or all offloaded tables are not materialized in the RDBMS. Offloaded tables may participate in standard relational algebra such as in a database statement.
-
公开(公告)号:US20210026855A1
公开(公告)日:2021-01-28
申请号:US16519794
申请日:2019-07-23
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Nipun Agarwal
IPC: G06F16/2453
Abstract: Techniques are described herein for influencing plan generation in context of the two phase query optimization approach. Types of pruning criteria including method pruning criteria, total cost pruning criteria, and permutation pruning criteria exist in cost-based plan generators to determine what parts of a query statement should be offloaded to a query offload engine. Method pruning criteria is responsible to determine an optimal joining method. Total cost pruning criteria compares accumulated costs with a lowest plan cost determined so far. Permutation pruning criteria is responsible for selecting the cheapest query execution plan from all considered query execution plans. Each type of pruning criteria is modified to favor offload engine execution upon request.
-
公开(公告)号:US20200341981A1
公开(公告)日:2020-10-29
申请号:US16394998
申请日:2019-04-25
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Matthias Brantner , Cagri Balkesen , Nipun Agarwal
IPC: G06F16/2453 , G06F16/2455 , G06F16/248
Abstract: The manner in which tables are joined can affect the outcome of the query and database performance. Example types of join operations include semi-join and inner-join. The techniques described herein are approaches that may be used to substitute a semi-join operator with an inner-join operator and may be used to transform and optimize representations of queries.
-
公开(公告)号:US11797520B2
公开(公告)日:2023-10-24
申请号:US16699524
申请日:2019-11-29
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Nipun Agarwal
IPC: G06F7/00 , G06F16/23 , G06F16/22 , G06F16/2453
CPC classification number: G06F16/2379 , G06F16/2282 , G06F16/24534
Abstract: Techniques described herein propose a ROWID Elimination Rewrite that uses functional dependencies to substitute and/or eliminate ROWID pseudo-columns referenced in a query in order to reduce memory pressure and speed up processing.
-
公开(公告)号:US11720562B2
公开(公告)日:2023-08-08
申请号:US17889712
申请日:2022-08-17
Applicant: Oracle International Corporation
Inventor: Pit Fender , Alexander Ulrich , Laurent Daynes , Matthias Brantner , Bastian Hossbach , Benjamin Schlegel , Hassan Chafi
IPC: G06F16/24 , G06F16/2453 , G06F16/2455 , G06F8/41
CPC classification number: G06F16/24542 , G06F8/427 , G06F8/4443 , G06F16/2455
Abstract: The present invention relates to execution optimization of database queries. Herein are techniques for optimal execution based on query interpretation by translation to a domain specific language (DSL), with optimizations such as partial evaluation, abstract syntax tree (AST) rewriting, just in time (JIT) compilation, dynamic profiling, speculative logic, and Futamura projection. In an embodiment, a database management system (DBMS) that is hosted on a computer generates a query tree that represents a database query that contains an expression that is represented by a subtree of the query tree. The DBMS generates a sequence of DSL instructions that represents the subtree. The sequence of DSL instructions is executed to evaluate the expression during execution of the database query. In an embodiment, an AST is generated from the sequence of DSL instructions. In an embodiment, the DSL AST is optimally rewritten based on a runtime feedback loop that includes dynamic profiling information.
-
-
-
-
-
-
-
-
-