Hybrid Concurrency Control for Database Transaction Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Transaction processing systems face inefficiencies due to the limitations of existing concurrency control mechanisms, such as pessimistic and optimistic concurrency control, which can lead to performance penalties and scalability issues in dynamic workloads with varying contention levels, especially in distributed systems and cloud infrastructure.
Innovation Solution
A hybrid concurrency control mechanism that dynamically selects between pessimistic and optimistic concurrency control based on object access patterns, applying pessimistic control for high contention and optimistic control for low contention, adjusting as workloads change, using a contention value to determine the appropriate protocol and track access statistics for efficient resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pessimistic concurrency control is applied to all database objects, then data integrity is maintained under high contention, but performance efficiency deteriorates due to excessive locking overhead
Solution Approach 1:
The patent applies different concurrency control strategies to different database objects based on their individual contention characteristics. High-contention objects receive pessimistic concurrency control (locking), while low-contention objects receive optimistic concurrency control (version checking), optimizing performance without compromising data integrity where needed.
Solution Approach 2:
The system dynamically determines the contention level of database objects and adjusts the concurrency control mechanism accordingly. The contention value is calculated based on actual access patterns, and the system transitions between pessimistic and optimistic control modes as workload conditions change, rather than using a static approach.
2Productivity
If optimistic concurrency control is applied to all database objects, then performance efficiency improves under low contention, but transaction aborts increase under high contention
Solution Approach 1:
The patent applies different concurrency control strategies to different database objects based on their individual contention characteristics. High-contention objects receive pessimistic concurrency control (locking), while low-contention objects receive optimistic concurrency control (version checking), optimizing performance without compromising data integrity where needed.
Solution Approach 2:
The system dynamically determines the contention level of database objects and adjusts the concurrency control mechanism accordingly. The contention value is calculated based on actual access patterns, and the system transitions between pessimistic and optimistic control modes as workload conditions change, rather than using a static approach.
3Device complexity
If a single concurrency control mechanism is used for all workloads, then system complexity is reduced, but adaptability to varying contention levels deteriorates
Solution Approach 1:
The patent creates a unified concurrency control framework that can adapt to different workload conditions. The system calculates contention values and automatically selects between pessimistic and optimistic control mechanisms, providing a universal solution that handles both high-contention and low-contention scenarios without requiring separate specialized systems.
Solution Approach 2:
The system dynamically determines the contention level of database objects and adjusts the concurrency control mechanism accordingly. The contention value is calculated based on actual access patterns, and the system transitions between pessimistic and optimistic control modes as workload conditions change, rather than using a static approach.
Data Source
AI summary
Hybrid concurrency control in a database transaction is disclosed. A contention value associated with a database object is read. The contention value is dynamically updated based on access patterns of the database object. If the contention value indicates the database object is under high contention, a pessimistic concurrency control mechanism is applied to the database object. An optimistic concurrency control mechanism is applied to the database object if the contention value does not indicate the database object is under high contention.


