IP Library › Granted Patent US 12,159,032
Granted Patent B2
US 12,159,032 · App. 17/880,446 · Granted Dec 3, 2024

Increasing OLTP throughput by improving the performance of logging using persistent memory storage

Inventors: Yunrui Li (Fremont, CA); Graham Ivey (Hook, GB); Shampa Chakravarty (Pleasant Hill, CA); Vsevolod Panteleenko (San Mateo, CA)
Assignee: Oracle International Corporation
G06F3/061G06F3/0646G06F3/0683
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,159,032
App. No.
17/880,446
Granted
Dec 3, 2024
Kind
B2
Abstract

In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.

Claims (36)

1. A method comprising:

without modifying a persistent online redo log:

persisting a change entry for a database transaction being executed by a database management system (DBMS), wherein said change entry specifies a change made by the database transaction to a database, and

acknowledging, after said persisting the change entry for the database transaction, that the database transaction is committed; and

appending, after said acknowledging that the database transaction is committed, the change entry onto the persistent online redo log;

wherein the method is performed by one or more computers.

2. The method of claim 1 wherein said appending the change entry onto the persistent online redo log occurs during recovery.

3. The method of claim 1 wherein:

said persisting the change entry occurs in a first persistent storage;

the persistent online redo log resides in a second persistent storage that is slower than the first persistent storage.

4. The method of claim 3 wherein said second persistent storage that is slower than the first persistent storage is solid state.

5. The method of claim 1 wherein said persisting the change entry comprises using at least one selected from the group consisting of:

persistent storage media of at least two network elements,

remote direct memory access (RDMA), and

byte-addressable persistent memory (PMEM).

6. The method of claim 1 wherein at least one selected from the group consisting of:

said persisting the change entry does not comprise using a filesystem, and

said persisting the change entry is non-blocking.

7. The method of claim 1 wherein further comprising:

second appending a second change entry onto the persistent online redo log;

retaining, after said second appending, the second change entry in one selected from the group consisting of a volatile buffer and a persistent buffer.

8. One or more computer-readable non-transitory media storing instructions that, when executed by one or more processors, cause:

without modifying a persistent online redo log:

persisting a change entry for a database transaction being executed by a database management system (DBMS), wherein said change entry specifies a change made by the database transaction to a database, and

acknowledging, after said persisting the change entry for the database transaction, that the database transaction is committed; and

appending, after said acknowledging that the database transaction is committed, the change entry onto the persistent online redo log.

9. The one or more computer-readable non-transitory media of claim 8 wherein:

said persisting the change entry occurs in a first persistent storage;

the persistent online redo log resides in a second persistent storage that is slower than the first persistent storage.

10. The one or more computer-readable non-transitory media of claim 8 wherein said persisting the change entry comprises using at least one selected from the group consisting of:

persistent storage media of at least two network elements,

remote direct memory access (RDMA), and

byte-addressable persistent memory (PMEM).

11. The one or more computer-readable non-transitory media of claim 8 wherein at least one selected from the group consisting of:

said persisting the change entry does not comprise using a filesystem, and

said persisting the change entry is non-blocking.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2022
From: LI, YUNRUI; IVEY, GRAHAM; CHAKRAVARTY, SHAMPA; PANTELEENKO, VSEVOLOD
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 060720/0037 →
Continuity (1)
Related Publication 20240045591A1 · Feb 8, 2024