Elimination of log file synchronization delay at transaction commit time
AssigneeOracle International Corporation
InventorYunrui Li
Life of this patent
Estimating the term…
Abstract
A method and apparatus for elimination of log file synchronization delay at transaction commit time is provided. One or more change records corresponding to a database transaction are generated. One or more buffer entries comprising the one or more change records are entered into a persistent change log buffer. A commit operation is performed by generating a commit change record corresponding to the database transaction and entering a commit buffer entry comprising the commit change record into the persistent change log buffer. The commit operation returns without waiting for the commit change record to be recorded in a change record log file.
Claims22
A method comprising:
- a database instance generating first one or more change records corresponding to a database transaction modifying a database, said first one or more change records describing changes to one or more data blocks;
- said database instance performing write-ahead logging by at least entering one or more buffer entries comprising the first one or more change records into a persistent change log buffer that is allocated in byte-addressable non-volatile memory;
- committing said database transaction;
- after committing said database transaction, writing through a block input/output interface said first one or more change records from said persistent change log buffer to a change record log file;
- and
- recovering the database, wherein recovering the database includes scanning the persistent change log buffer to detect that second one or more change records in the persistent change log buffer have not been written to a change record log file, said second one or more change records including said first one or more change records.
One or more non-transitory storage media storing sequences of instructions that, when executed by one or more computing devices, cause:
- a database instance generating first one or more change records corresponding to a database transaction modifying a database, said first one or more change records describing changes to one or more data blocks;
- said database instance performing write-ahead logging by at least entering one or more buffer entries comprising the first one or more change records into a persistent change log buffer that is allocated in byte-addressable non-volatile memory;
- committing said database transaction;
- after committing said database transaction, writing through a block input/output interface said first one or more change records from said persistent change log buffer to a change record log file;
- and;
- and
- recovering the database, wherein recovering the database includes scanning the persistent change log buffer to detect that second one or more change records in the persistent change log buffer have not been written to a change record log file, said second one or more change records including said first one or more change records.
Dependencies are inferred from the claim text.