-
31.
公开(公告)号:US20240111790A1
公开(公告)日:2024-04-04
申请号:US18373082
申请日:2023-09-26
Applicant: Oracle International Corporation
Inventor: Teck Hua Lee , Hariharan Lakshmanan , Sujatha Muthulingam , Andrew Witkowski , Shasank Kisan Chavan , You Jung Kim , Sooyeon Jo , Yu Chieh Fu , Vicente Hernandez Jimenez , Tirthankar Lahiri
CPC classification number: G06F16/285 , G06F16/2219 , G06F16/258
Abstract: Techniques are provided for optimizing storage of database records in segments using sub-segments. A base segment is a container used for storing records that belong to a database object. A database management system receives a request to load, into the database object, a first set of records that are in a first state. In response to receiving the request, the system generates a new sub-segment, which is a container that is separate from the base segment. The system stores the first set of records, in their first state, within the sub-segment. The system then monitors one or more characteristics of the database system. In response to the one or more characteristics satisfying criteria, the system performs a migration of one or more records of the first set of records from the sub-segment to the base segment. During the migration, the system converts the one or more records from the first state to a second state and stores the one or more records, in their second state, in the base segment.
-
公开(公告)号:US11675761B2
公开(公告)日:2023-06-13
申请号:US16135748
申请日:2018-09-19
Applicant: Oracle International Corporation
Inventor: Roger Dermot Macnicol , Xia Hua , Allison Holloway , Shasank Kisan Chavan , Jesse Kamp , Maria Colgan , Tirthankar Lahiri
IPC: G06F16/22 , G06F16/2458 , G06F16/2455 , G06F16/25 , G06F16/21 , G06F16/248
CPC classification number: G06F16/221 , G06F16/219 , G06F16/2237 , G06F16/248 , G06F16/2455 , G06F16/2456 , G06F16/2471 , G06F16/256
Abstract: Techniques herein use in-memory column vectors to process data that is external to a database management system (DBMS) and logically join the external data with data that is native to the DBMS. In an embodiment, a computer maintains a data dictionary for native data that is durably stored in an DBMS and external data that is not durably stored in the DBMS. From a client through a connection to the DBMS, the computer receives a query. The computer loads the external data into an in-memory column vector that resides in random access memory of the DBMS. Based on the query and the data dictionary, the DBMS executes a data join of the in-memory column vector with the native data. To the client through said connection, the computer returns results of the query based on the data join.
-
公开(公告)号:US11580108B2
公开(公告)日:2023-02-14
申请号:US17537591
申请日:2021-11-30
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , William Martinez Cortes , Weiwei Gong
IPC: G06F16/00 , G06F16/2455 , G06F16/28 , G06F16/22
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.
-
公开(公告)号:US11500868B2
公开(公告)日:2022-11-15
申请号:US17162527
申请日:2021-01-29
Applicant: Oracle International Corporation
Inventor: Andrea Segalini , Jean-Pierre Lozi , Laurent Daynes , Marco Arnaboldi , Vlad Ioan Haprian , Hugo Kapp , Shasank Kisan Chavan , Zhen Hua Liu , Danica Porobic
IPC: G06F16/245 , G06F16/22 , G06F16/2453 , G06F16/2452 , G06F16/2455
Abstract: Vertex/edge table rows are mapped to unique integer identifiers, to enable construction of in-memory representation of a graph from existing, unmodified RDBMS tables. The unique integer identifiers are based on an encoding of primary key values of the table rows. The unique integer identifiers are used as graph indexes of the in-memory representation.
-
公开(公告)号:US20220245147A1
公开(公告)日:2022-08-04
申请号:US17162527
申请日:2021-01-29
Applicant: Oracle International Corporation
Inventor: Andrea Segalini , Jean-Pierre Lozi , Laurent Daynes , Marco Arnaboldi , Vlad Ioan Haprian , Hugo Kapp , Shasank Kisan Chavan , Zhen Hua Liu , Danica Porobic
IPC: G06F16/2453 , G06F16/2452 , G06F16/2455 , G06F16/22
Abstract: Techniques are provided for mapping vertex/edge table rows to unique integer identifiers, to enable construction of in-memory representation of a graph from existing, unmodified RDBMS tables. The unique integer identifiers are based on an encoding of primary key values of the table rows. The unique integer identifiers are used as graph indexes of the in-memory representation.
-
36.
公开(公告)号:US11288275B2
公开(公告)日:2022-03-29
申请号:US17015421
申请日:2020-09-09
Applicant: Oracle International Corporation
Inventor: Chinmayi Krishnappa , Jim Kearney , Weiwei Gong , Shasank Kisan Chavan
IPC: G06F17/30 , G06F16/2455 , G06F16/2453 , G06F9/38 , G06F40/157 , G06F16/28
Abstract: For join acceleration, a computer stores local encoding dictionaries (ED), including a build ED that contains a plurality of distinct build dictionary codes (DC) and a probe ED that contains a plurality of distinct probe DCs that is not identical to the plurality of distinct build DCs (BDC). Build data rows (DR) that contain a build key that contains BDCs from the plurality of distinct BDCs is stored. Probe DRs that contain a probe key that contains probe DCs from the plurality of distinct probe DCs is stored. A request for a relational join of the build DRs with the probe DRs is received. The BDCs from the build key and the probe DCs from the probe key are transcoded to global DCs (GDC) of a global ED. Based on GDCs for the build key, a build array whose offsets are respective GDCs of the global ED is populated. Based on GDCs for the probe key, offsets of the build array are accessed. A response to the request for the relational join that is based on accessing offsets of the build array is sent.
-
公开(公告)号:US20210081490A1
公开(公告)日:2021-03-18
申请号:US16848375
申请日:2020-04-14
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: William Martinez Cortes , Shasank Kisan Chavan , Siva Ravada , Ying Hu
Abstract: Techniques described herein perform spherical PIP analysis by detecting whether a test ray (defined by a test point (TP) and a point (EP) that is external to a spherical polygon) crosses edge arcs (“edges”) of the polygon based on relative orientations of vertices of the test ray and edges. A classifier vector (CV) for a test ray is calculated based on the cross-product of the TP and the EP. Using the CV, the orientation of each vertex of the polygon with respect to the test ray is determined. Candidate edges having vertices with opposite orientations with respect to the test ray are identified. Crossing edges are determine by calculating CVs for each candidate edge, and determining orientations of the TP and EP with respect to each candidate edge. A set of crossing edges is determined, where the TP and the EP have opposite orientations with respect to each crossing edge.
-
公开(公告)号:US20210073233A1
公开(公告)日:2021-03-11
申请号:US16923352
申请日:2020-07-08
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , William Martinez Cortes , Weiwei Gong
IPC: G06F16/2455 , G06F16/22 , G06F16/28
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.
-
公开(公告)号:US10922294B2
公开(公告)日:2021-02-16
申请号:US15873524
申请日:2018-01-17
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Phumpong Watanaprakornkul
IPC: G06F16/00 , G06F16/22 , G06F15/80 , G06F16/28 , G06F16/23 , G06F16/2455 , G06F15/78 , G06F12/1018 , G06F3/06 , G06F12/0815
Abstract: Methods and apparatuses for determining set-membership using Single Instruction Multiple Data (“SIMD”) architecture are presented herein. Specifically, methods and apparatuses are discussed for determining, in parallel, whether multiple values in a first set of values are members of a second set of values. Many of the methods and systems discussed herein are applied to determining whether one or more rows in a dictionary-encoded column of a database table satisfy one or more conditions based on the dictionary-encoded column. However, the methods and systems discussed herein may apply to many applications executed on a SIMD processor using set-membership tests.
-
公开(公告)号:US20240111753A1
公开(公告)日:2024-04-04
申请号:US18201378
申请日:2023-05-24
Applicant: Oracle International Corporation
Inventor: Mahendra Maiti , Hariharan Lakshmanan , Shasank Kisan Chavan
CPC classification number: G06F16/2365 , G06F16/221 , G06F16/2379 , G06F16/27
Abstract: Techniques are provided for determining an optimal configuration for an in-memory store based on both benefits and overhead that would result from having database elements populated in the in-memory store. The techniques include determining an overhead-adjusted benefit score for each element based, at least in part, on (a) a scan-benefit value, (b) a scan-overhead value, and (c) a DML-overhead value. Based on the plurality of overhead-adjusted benefit scores, the database determines an optimal configuration of the in-memory store, and then evicts in-memory copies of elements and/or loads in-memory copies of elements based on the optimal configuration.
-
-
-
-
-
-
-
-
-