-
11.
公开(公告)号:US11989179B2
公开(公告)日:2024-05-21
申请号:US17895445
申请日:2022-08-25
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Garret F. Swart , Weiwei Gong
IPC: G06F16/2453 , G06F16/901 , G06N20/00 , G06N5/04
CPC classification number: G06F16/24537 , G06F16/24542 , G06F16/9024 , G06N20/00 , G06N5/04
Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware. A response to the data access request is generated based on: the data tuples, the particular implementation of the particular relational operator, and the particular hardware operator.
-
公开(公告)号:US11966399B1
公开(公告)日:2024-04-23
申请号:US17966749
申请日:2022-10-14
Applicant: Oracle International Corporation
Inventor: Dennis Lui , Allison L Holloway , Shasank Kisan Chavan
IPC: G06F16/2455 , G06F16/23 , G06F16/2453
CPC classification number: G06F16/24554 , G06F16/23 , G06F16/24537 , G06F16/24542
Abstract: Techniques for processing top-K queries are provided. In one technique, a database statement is received that requests top-K results related to a database object and that indicates two columns thereof: a first column by which to partition a result set and a second column by which to order the result set. A buffer is generated. For each of multiple rows in the database object: a first key value that associated with a first value in the first column of said each row is identified; a second key value that associated with a second value in the second column of said each entry is identified; a slot in the buffer is identified based on the first key value and the second key value; and the slot in the buffer may be updated based on the second key value. A response to the database statement is generated based on the buffer.
-
13.
公开(公告)号:US20240126750A1
公开(公告)日:2024-04-18
申请号:US18072222
申请日:2022-11-30
Applicant: Oracle International Corporation
Inventor: Kamaljit Shergill , Ken Kumar , Aurosish Mishra , Shasank Kisan Chavan
IPC: G06F16/2453 , G06F16/22
CPC classification number: G06F16/2453 , G06F16/2246
Abstract: Techniques for accelerating query execution by optimizing data transfer between storage nodes and database nodes are provided. In one technique, a compute node receives a database statement and transmits a set of one or more selection criteria associated with the database statement to a storage node. Based on the database statement, the storage node retrieves a set of data blocks from storage. Each data block comprises multiple rows of an index-organized table (IOT), each row comprising a key section and a non-key section. The storage node applies the set of selection criteria to a data block, resulting in a modified data block. The storage node generates a modified header data for the modified data block and transmits the modified data block to the compute node.
-
公开(公告)号:US11921722B2
公开(公告)日:2024-03-05
申请号:US18109024
申请日:2023-02-13
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , William Martinez Cortes , Weiwei Gong
IPC: G06F16/00 , G06F16/22 , G06F16/2455 , G06F16/28
CPC classification number: G06F16/24552 , G06F16/2246 , G06F16/2255 , G06F16/284
Abstract: Herein are techniques for dynamic aggregation of results of a database request, including concurrent grouping of result items in memory based on quasi-dense keys. Each of many computational threads concurrently performs as follows. A hash code is calculated that represents a particular natural grouping key (NGK) for an aggregate result of a database request. Based on the hash code, the thread detects that a set of distinct NGKs that are already stored in the aggregate result does not contain the particular NGK. A distinct dense grouping key for the particular NGK is statefully generated. The dense grouping key is bound to the particular NGK. Based on said binding, the particular NGK is added to the set of distinct NGKs in the aggregate result.
-
15.
公开(公告)号:US20220405282A1
公开(公告)日:2022-12-22
申请号:US17895445
申请日:2022-08-25
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Garret F. Swart , Weiwei Gong
IPC: G06F16/2453 , G06N20/00 , G06F16/901
Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware. A response to the data access request is generated based on: the data tuples, the particular implementation of the particular relational operator, and the particular hardware operator.
-
16.
公开(公告)号:US20210224235A1
公开(公告)日:2021-07-22
申请号:US16747827
申请日:2020-01-21
Applicant: Oracle International Corporation
Inventor: Marco Arnaboldi , Jean-Pierre Lozi , Laurent Phillipe Daynes , Vlad Ioan Haprian , Shasank Kisan Chavan , Hugo Kapp , Sungpack Hong
IPC: G06F16/21 , G06F16/901 , G06F16/28 , G06F16/27
Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type. For the CSR, the computer populates, in parallel and based on said mapping, a destination array that contains canonical offsets as sequence positions within the sequence of persistent identifiers of the vertices.
-
公开(公告)号:US20210081417A1
公开(公告)日:2021-03-18
申请号:US17018694
申请日:2020-09-11
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , JAMES KEARNEY , WEIWEI GONG
IPC: G06F16/2453 , G06F16/22
Abstract: The present invention relates to join acceleration. In an embodiment, a computer receives a request for a relational join of build data rows with probe data rows. Based on the request for the relational join, a particular kind of data map from many kinds of data map that can implement the relational join is dynamically selected. Based on the build data rows, an instance of the particular kind of data map is populated. A response is sent for the request for the relational join that is based on the probe data rows and the instance of the particular kind of data map.
-
公开(公告)号:US20210081356A1
公开(公告)日:2021-03-18
申请号:US16926425
申请日:2020-07-10
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Kamaljit Shergill , Hariharan Lakshmanan , Viral Shah , Shasank Kisan Chavan
IPC: G06F16/11 , G06F16/901
Abstract: Techniques are provided for a DBMS automating ILM on indexes, based on index composition, to efficiently reduce index storage footprints. According to an embodiment, a user sets an index-specific ILM (ISILM) policy, which comprises one or both of an index-test requirement and a time requirement. Based on the ISILM policy being met, or on some other way of initiating analysis, the DBMS automatically analyzes the data blocks storing the index to determine an index condition metric (e.g., percentage of free space). This analysis is performed on a sample of data blocks storing the index without blocking the index from other operations during the analysis. The condition metric for the entire index is estimated based on analysis of the sample data blocks. Using the determined condition metric for an index, the DBMS automatically selects an option for optimally managing the index (e.g., coalesce, shrink space, index rebuild, no action, etc.).
-
公开(公告)号:US10078521B2
公开(公告)日:2018-09-18
申请号:US14242778
申请日:2014-04-01
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Phumpong Watanaprakornkul , Amit Ganesh , Vineet Marwah
CPC classification number: G06F9/3887 , G06F9/30032 , H03M7/3088 , H03M7/3091 , H03M7/6005 , H03M7/6017 , H03M7/6023 , H03M7/707
Abstract: Techniques are described herein for storing and processing codes included in dictionary-encoded data. In an embodiment, for each respective code of a plurality of codes in the dictionary-encoded data: a plurality of bits from a first portion of the respective code is contiguously stored. One or more bits from a second portion of the respective code is stored in one or more slices. Each respective slice of the one or more slices stores a bit from the one or more bits with a corresponding bit position in the respective code. In another embodiment, a bit-vector is generated based on at least one slice by loading each respective bit of the plurality of bits into different respective partitions in a register at a bit position corresponding to the at least one slice. A plurality of codes may be reconstructed by combining the bit-vector with one or more other bit-vectors.
-
20.
公开(公告)号:US12265532B2
公开(公告)日:2025-04-01
申请号:US18072222
申请日:2022-11-30
Applicant: Oracle International Corporation
Inventor: Kamaljit Shergill , Ken Kumar , Aurosish Mishra , Shasank Kisan Chavan
IPC: G06F16/24 , G06F16/22 , G06F16/2453
Abstract: Techniques for accelerating query execution by optimizing data transfer between storage nodes and database nodes are provided. In one technique, a compute node receives a database statement and transmits a set of one or more selection criteria associated with the database statement to a storage node. Based on the database statement, the storage node retrieves a set of data blocks from storage. Each data block comprises multiple rows of an index-organized table (IOT), each row comprising a key section and a non-key section. The storage node applies the set of selection criteria to a data block, resulting in a modified data block. The storage node generates a modified header data for the modified data block and transmits the modified data block to the compute node.
-
-
-
-
-
-
-
-
-