-
公开(公告)号:US20230273910A1
公开(公告)日:2023-08-31
申请号:US18143768
申请日:2023-05-05
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/2471 , G06F16/2455 , G06F16/256 , G06F16/2237 , G06F16/219 , G06F16/2456 , G06F16/248
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.
-
公开(公告)号:US11599421B2
公开(公告)日:2023-03-07
申请号:US17137745
申请日:2020-12-30
Applicant: Oracle International Corporation
Inventor: Ajit Mylavarapu , Vasudha Krishnaswamy , Sukhada Pendse , Solmaz Kolahi , Ankita Kumar , Garret F. Swart , Tirthankar Lahiri , Juan R. Loaiza
Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
-
公开(公告)号:US11586641B2
公开(公告)日:2023-02-21
申请号:US16726059
申请日:2019-12-23
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Niloy Mukherjee , Kartik Kulkarni , Tirthankar Lahiri , Vineet Marwah , Juan Loaiza
IPC: G06F16/2458 , H04L43/0817 , H04L41/0668 , H04L41/12
Abstract: Techniques are described herein for executing queries on distinct portions of a database object that has been separate into chunks and distributed across the volatile memories of a plurality of nodes in a clustered database system. The techniques involve redistributing the in-memory database object portions on changes to the clustered database system. Each node may maintain a mapping indicating which nodes in the clustered database system store which chunks, and timestamps indicating when each mapping entry was created or updated. A query coordinator may use the timestamps to select a database server instance with local in memory access to data required by a portion of a query to process that portion of the query.
-
公开(公告)号:US20220114153A1
公开(公告)日:2022-04-14
申请号:US17070277
申请日:2020-10-14
Applicant: Oracle International Corporation
Inventor: Jesse Kamp , Allison L. Holloway , Meichun Hsu , Hideaki Kimura , Boris Klots , Vasudha Krishnaswamy , Kartik Kulkarni , Teck Hua Lee , Yunrui Li , Aurosish Mishra , Ajit Mylavarapu , Sukhada Pendse , Garret F. Swart , Shasank K. Chavan , Tirthankar Lahiri , Juan R. Loaiza
Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
-
公开(公告)号:US11080204B2
公开(公告)日:2021-08-03
申请号:US16435101
申请日:2019-06-07
Applicant: Oracle International Corporation
Inventor: Siddharth Teotia , Krishna Kunchithapadam , Tirthankar Lahiri , Jesse Kamp , Michael J. Gleeson , Juan R. Loaiza , Garret F. Swart , Neil J. S. MacNaughton , Kam Shergill
IPC: G06F12/1018 , G06F16/22 , G06F16/2453 , G06F16/901 , G06F12/0864 , G06F12/0868 , G06F12/126 , G06F12/128
Abstract: A hashing scheme includes a cache-friendly, latchless, non-blocking dynamically resizable hash index with constant-time lookup operations that is also amenable to fast lookups via remote memory access. Specifically, the hashing scheme provides each of the following features: latchless reads, fine grained lightweight locks for writers, non-blocking dynamic resizability, cache-friendly access, constant-time lookup operations, amenable to remote memory access via RDMA protocol through one sided read operations, as well as non-RDMA access.
-
公开(公告)号:US10007691B2
公开(公告)日:2018-06-26
申请号:US14823393
申请日:2015-08-11
Applicant: Oracle International Corporation
Inventor: Michael J. Gleeson , Jesse Kamp , Vineet Marwah , Tirthankar Lahiri , Juan R. Loaiza , Sanket Hase , Niloy Mukherjee , Sujatha Muthulingam , Atrayee Mullick , Allison L. Holloway
IPC: G06F17/30
CPC classification number: G06F16/2282 , G06F16/2379 , G06F16/273
Abstract: To prioritize repopulation of in-memory compression units (IMCU), a database server compresses, into an IMCU, a plurality of data units from a database table. In response to changes to any of the plurality of data units within the database table, the database server performs the steps of: (a) invalidating corresponding data units in the IMCU; (b) incrementing an invalidity counter of the IMCU that reflects how many data units within the IMCU have been invalidated; (c) receiving a data request that targets one or more of the plurality of data units of the database table; (d) in response to receiving the data request, incrementing an access counter of the IMCU; and (e) determining a priority for repopulating the IMCU based, at least in part, on the invalidity counter and the access counter.
-
公开(公告)号:US20180067853A1
公开(公告)日:2018-03-08
申请号:US15257754
申请日:2016-09-06
Applicant: Oracle International Corporation
Inventor: Niloy Mukherjee , Tirthankar Lahiri , Juan R. Loaiza , Jesse Kamp , Prashant Gaharwar , Hariharan Lakshmanan , Dhruvil Shah
CPC classification number: G06F12/08 , G06F3/0604 , G06F3/0638 , G06F3/0647 , G06F3/067 , G06F17/30289 , G06F17/30312 , G06F2212/1016
Abstract: Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.
-
公开(公告)号:US20180060378A1
公开(公告)日:2018-03-01
申请号:US15253630
申请日:2016-08-31
Applicant: Oracle International Corporation
Inventor: Kartik Kulkarni , Juan R. Loaiza , Vivekanandhan Raja , Kothanda Umamageswaran , Sanket Hase , Vasudha Krishnaswamy , Tirthankar Lahiri
IPC: G06F17/30
CPC classification number: G06F17/30371 , G06F17/30353 , G06F17/30368 , G06F17/30377 , G06F17/3056 , G06F17/30581
Abstract: A minimum value (MV) is computed for start timestamps that each correspond to an uncommitted transaction. In an embodiment, the MV is computed for a pluggable database that is open on at least first and second instances of a database. The MV is computed for the first instance as of a first current timestamp (CT). The MV and the first CT are communicated to a second instance that has a second CT. If the first and second CTs are equal, the second instance store the MV. If the first CT is bigger, the second CT also becomes equal to the first CT. If the first CT is smaller, the MV is discarded, and the first CT becomes equal to the second CT. In an embodiment, if the MV remains unchanged for a predetermined time period, a start timestamp corresponding to the MV is advanced to a current or future timestamp.
-
公开(公告)号:US20180060377A1
公开(公告)日:2018-03-01
申请号:US15253626
申请日:2016-08-31
Applicant: Oracle International Corporation
Inventor: Kartik Kulkarni , Juan R. Loaiza , Vivekanandhan Raja , Kothanda Umamageswaran , Sanket Hase , Vasudha Krishnaswamy , Tirthankar Lahiri
IPC: G06F17/30
CPC classification number: G06F17/30371 , G06F17/30368 , G06F17/30377 , G06F17/3056
Abstract: A minimum value (MV) is computed for start timestamps that each correspond to an uncommitted transaction. In an embodiment, the MV is computed for a pluggable database that is open on at least first and second instances of a database. The MV is computed for the first instance as of a first current timestamp (CT). The MV and the first CT are communicated to a second instance that has a second CT. If the first and second CTs are equal, the second instance store the MV. If the first CT is bigger, the second CT also becomes equal to the first CT. If the first CT is smaller, the MV is discarded, and the first CT becomes equal to the second CT. In an embodiment, if the MV remains unchanged for a predetermined time period, a start timestamp corresponding to the MV is advanced to a current or future timestamp.
-
公开(公告)号:US09881048B2
公开(公告)日:2018-01-30
申请号:US14881356
申请日:2015-10-13
Applicant: Oracle International Corporation
Inventor: Jesse Kamp , Amit Ganesh , Vineet Marwah , Vivekanandhan Raja , Tirthankar Lahiri , Allison L. Holloway , Sanket Hase , Shasank K. Chavan , Niloy Mukherjee , Teck Hua Lee , Michael J. Gleeson , Krishna Kunchithapadam
CPC classification number: G06F17/30377 , G06F3/0619 , G06F3/065 , G06F3/0665 , G06F3/0689 , G06F11/2058 , G06F17/30315 , G06F17/30442 , G06F17/30575 , G06F17/30581 , G06F2201/80 , G06F2201/855
Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
-
-
-
-
-
-
-
-
-