Parallel WAL Commit Handling for Database Transaction Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional write-ahead logging (WAL) in database management systems is a serialized operation, leading to significant overhead and limiting scalability due to the use of semaphores or mutexes for waking transaction committers, which does not fully utilize modern processors or disk capacity.

Innovation Solution

Implementing a dedicated background process to write log entries to a WAL buffer asynchronously and using direct input/output, allowing multiple IO requests to storage without waiting for previous requests to finish, and waking backend processes based on a log sequence number pointer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional serialized write-ahead logging is used, then data consistency is maintained, but transaction performance deteriorates due to significant overhead and inefficient processor utilization

Engineering Contradiction:
Improvetransaction performanceVSAvoidwait time for log flushing
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the serialized WAL operation into parallel operations by dividing log entries into groups that can be flushed simultaneously. Multiple backend processes can submit commit requests for different log groups, and the system processes these groups in parallel rather than sequentially, thereby improving transaction performance while maintaining data consistency through controlled parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parallelism as a new dimension to the traditionally serialized WAL operation. By implementing parallel flush operations across multiple processing threads or cores, the system transforms the single-threaded sequential process into a multi-threaded parallel process, utilizing modern multi-core processors to reduce wait time and improve throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If conventional serialized WAL with semaphore/mutex is used, then log integrity is ensured, but device complexity increases due to contention overhead for large numbers of waiters

Engineering Contradiction:
Improvelog integrityVSAvoidcontention management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the log flushing operation into independent parallel tasks that can execute simultaneously. By dividing the work into manageable chunks (log groups) that can be processed independently, the system reduces contention on shared resources while maintaining log integrity through proper synchronization only at critical boundaries, thereby reducing device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (such as a work queue or task scheduler) that manages parallel flush operations without requiring direct contention between backend processes. This intermediary coordinates the parallel operations, ensuring log integrity is maintained while eliminating the need for complex semaphore/mutex contention management among numerous waiters.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If conventional serialized WAL operation is used, then implementation simplicity is maintained, but processor capacity and disk throughput are underutilized

Engineering Contradiction:
Improvedisk throughputVSAvoidparallel processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent leverages the parallel processing dimension by implementing multiple concurrent flush operations that can execute simultaneously across available processor cores and disk channels. This approach fully utilizes modern multi-core processors and parallel disk I/O capabilities, transforming underutilized hardware resources into productive capacity while managing complexity through structured parallelism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent changes key operational parameters such as the degree of parallelism, batch size for log groups, and synchronization frequency to optimize the balance between processor capacity utilization and implementation complexity. By adjusting these parameters, the system can scale parallel processing to match available hardware resources without introducing excessive complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12619462B2Transaction performance by parallel WAL IO and parallel waking up transaction commit waiters
Publication Date: 2026.05.05 GOOGLE LLC
  • US12619462B2 patent drawing
  • US12619462B2 patent drawing
  • US12619462B2 patent drawing

AI summary

A method for performing logging of modifications of a database includes, for each backend process of a plurality of backend processes simultaneously, writing a respective log entry to a write-ahead log buffer, submitting a respective commit request requesting the respective log entry be committed to a write-ahead log, and sleeping the respective backend process. The method also includes writing, using a dedicated writing process and direct asynchronous input/output, one or more of the respective log entries in the write-ahead log buffer to the write-ahead log. The dedicated writing process is different from each respective backend process of the plurality of backend processes. The method also includes updating a log sequence number pointer based on the respective log sequence numbers of the one or more of the respective log entries and waking, based on the log sequence number pointer, one or more of the respective backend processes.