-
公开(公告)号:US11531652B2
公开(公告)日:2022-12-20
申请号:US16556847
申请日:2019-08-30
Applicant: Oracle International Corporation
Inventor: Pit Fender , Harshad Kasture , Alexander Ulrich , Benjamin Schlegel , Matthias Brantner , Hassan Chafi
IPC: G06F16/21
Abstract: Herein are techniques that extend a software system to embed new guest programing languages (GPLs) that interoperate in a transparent, modular, and configurable way. In embodiments, a computer inserts an implementation of a GPL into a deployment of the system. A command registers the GPL, define subroutines for the GPL, generates a guest virtual environment, and adds a binding of a dependency to a guest module. In an embodiment, a native programing language invokes a guest programing language to cause importing intra- or inter-language dependencies. An embodiment defines a guest object that is implemented in a first GPL and accessed from a second GPL. In an embodiment, dependencies are retrieved from a virtual file system having several alternative implementation mechanisms that include: an archive file or an actual file system, and a memory buffer or a column of a database table.
-
公开(公告)号:US20220391392A1
公开(公告)日:2022-12-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/2453 , G06F16/2455 , G06F8/41
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.
-
公开(公告)号:US11513806B2
公开(公告)日:2022-11-29
申请号:US17227167
申请日:2021-04-09
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Benjamin Schlegel , Pit Fender , Harshad Kasture , Matthias Brantner , Hassan Chafi
Abstract: Techniques are provided for vectorizing Heapsort. A K-heap is used as the underlying data structure for indexing values being sorted. The K-heap is vectorized by storing values in a contiguous memory array containing a beginning-most side and end-most side. The vectorized Heapsort utilizes horizontal aggregation SIMD instructions for comparisons, shuffling, and moving data. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the K-heap is reduced resulting in faster retrieval operations.
-
公开(公告)号:US11461324B2
公开(公告)日:2022-10-04
申请号:US16555974
申请日:2019-08-29
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
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.
-
公开(公告)号:US11379450B2
公开(公告)日:2022-07-05
申请号:US16155740
申请日:2018-10-09
Applicant: Oracle International Corporation
Inventor: Pit Fender , Felix Schmidt , Benjamin Schlegel
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.
-
公开(公告)号:US20210294795A1
公开(公告)日:2021-09-23
申请号:US16823632
申请日:2020-03-19
Applicant: Oracle International Corporation
Inventor: Pit Fender , Benjamin Schlegel , Alexander Ulrich
IPC: G06F16/245
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.
-
公开(公告)号:US20200097288A1
公开(公告)日:2020-03-26
申请号:US16139226
申请日:2018-09-24
Applicant: Oracle International Corporation
Inventor: Benjamin Schlegel , Harshad Kasture , Pit Fender , Matthias Brantner , Hassan Chafi
Abstract: Techniques for maintaining d-heap property and speeding up retrieval operations, such as top or pop, by vectorizing the d-heap and utilizing horizontal aggregation SIMD instructions across the retrieval operations. A d-heap is vectorized by storing it in a contiguous memory array containing a beginning-most side and end-most side. Horizontal aggregation SIMD instructions are utilized to aggregate the values of the vectorized d-heap. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the d-heap is reduced resulting in faster retrieval operations.
-
公开(公告)号:US20190251194A1
公开(公告)日:2019-08-15
申请号:US15897375
申请日:2018-02-15
Applicant: Oracle International Corporation
Inventor: Pit Fender , Felix Schmidt , Benjamin Schlegel , Matthias Brantner , Nipun Agarwal
IPC: G06F17/30
CPC classification number: G06F16/2365 , G06F16/221 , G06F16/285
Abstract: Techniques related to code dictionary generation based on non-blocking operations are disclosed. In some embodiments, a column of tokens includes a first token and a second token that are stored in separate rows. The column of tokens is correlated with a set of row identifiers including a first row identifier and a second row identifier that is different from the first row identifier. Correlating the column of tokens with the set of row identifiers involves: storing a correlation between the first token and the first row identifier, storing a correlation between the second token and the second row identifier if the first token and the second token have different values, and storing a correlation between the second token and the first row identifier if the first token and the second token have identical values. After correlating the column of tokens with the set of row identifiers, duplicate correlations are removed.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-