CPC G06F 16/24532 (2019.01) [G06F 16/2343 (2019.01); G06F 16/27 (2019.01)] | 20 Claims |
1. A method for performing parallel write ahead log (WAL) record processing, the method comprising:
receiving, by one or more processors, a batch of log records, each log record having a log sequence number (LSN);
identifying, by the one or more processors, disjoint subsets of log records in the batch;
assigning, by the one or more processors, the disjoint subsets of log records to respective parallel processes based on one or more block references, wherein each log record of the batch is processed in LSN order by the parallel process to which that log record is assigned;
determining, by the one or more processors, that a log record of the batch affects multiple blocks of data;
locking, by the one or more processors, the multiple blocks of data for applying the log record affecting the multiple blocks of data;
determining, by the one or more processors, that a read transaction is reading a block of data being modified in the batch of log records; and
instructing, by the one or more processors, the read transaction to wait for the log records of the batch to be applied on the block of data being modified in response to the block of data not being the first block of data being modified in the batch.
|