Private Log Cache Dependency for Database Transaction Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Increased transaction rates in database management systems lead to contention points, particularly due to buffer pinning/unpinning during transactions, which adversely affect system performance and reduce throughput.
Innovation Solution
Creating a dependency relationship among private log caches to control buffer pinning and unpinning without flushing, using synchronization markers and a counter to manage dependencies and optimize flushing processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every transaction processes a log entry one at a time through the log semaphore, then database integrity is maintained, but system throughput decreases due to increased contention for logging resources
Solution Approach 1:
The patent segments the logging process by introducing a private log cache (PLC) that buffers log records for each task separately. Instead of every transaction directly accessing the shared log through the log semaphore, log records are first accumulated in task-specific PLCs. This segmentation reduces contention on the log semaphore while maintaining database integrity through periodic flush operations.
Solution Approach 2:
The patent implements preliminary action by pre-allocating private log caches for tasks and pre-buffering log records before they need to be committed to the shared log. This allows transactions to proceed without immediate semaphore acquisition, and the log flush operation is performed in advance of actual log writing, reducing wait times and improving throughput.
2Productivity
If a private log cache is introduced to reduce contention, then steady state contention decreases, but buffer pinning/unpinning operations create new contention points
Solution Approach 1:
The patent introduces a buffer manager as an intermediary that handles pinning and unpinning operations centrally. Instead of each task managing its own buffer pins, the buffer manager coordinates all pinning/unpinning requests, reducing contention by serializing these operations and managing buffer lifecycle centrally. This adds a layer of complexity but resolves the contention issues.
Solution Approach 2:
The patent implements feedback mechanisms where the buffer manager tracks buffer pinning states and coordinates with the private log cache flush operations. When a PLC needs to be flushed, the system receives feedback about which buffers are pinned and adjusts the flush timing accordingly, preventing new contention points while maintaining throughput improvements.
3Productivity
If asynchronous log services are used to handle high rates of PLC and Log flushing, then overhead of lock acquisition is reduced, but log contention remains a key bottleneck at very high transaction rates
Solution Approach 1:
The patent transitions from a single-dimensional logging approach to a multi-dimensional architecture with private log caches at the task level, a buffer manager layer, and the shared log. This dimensional change allows asynchronous flushing operations to proceed independently at each level, reducing the impact of log contention even at very high transaction rates by distributing the workload across multiple layers.
Data Source
AI summary
System, method, computer program product embodiments and combinations and sub-combinations thereof for reducing contention of transaction logging in a database management system (DBMS) are provided. An embodiment includes creating a dependency relationship among private log caches (PLCs) having individual associations with tasks in a DBMS. The dependency relationship is utilized to control buffer pinning and unpinning among the PLCs without involving a flushing of the PLCs during transactions of the tasks.


