Database Record Duplication for Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-concurrency transaction systems, exclusive control methods for updating database records lead to lock thrashing, reducing throughput and obstructing concurrency improvements, especially with improved I/O performance from SSDs or in-memory databases.
Innovation Solution
A method where a processor generates a duplicate record for update processing, allowing concurrent updates by locking only the necessary elements of a numerical data item, reducing the need for exclusive locks and enhancing concurrency without compromising data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive control is used for updating database records, then data integrity is maintained, but lock thrashing occurs reducing throughput and concurrency
Solution Approach 1:
The patent segments the numerical data item into multiple elements (first element, second element, etc.). Instead of locking the entire record during update operations, only the specific element being updated is locked. This segmentation allows concurrent transactions to update different elements of the same record simultaneously, eliminating lock thrashing while maintaining data integrity for each individual element update.
2Productivity
If the number of concurrently executable transactions is increased, then system performance is improved, but lock thrashing increases blocking transactions
Solution Approach 1:
By dividing the numerical data item into multiple elements, the patent enables finer-grained locking. Each element can be locked independently, allowing multiple transactions to concurrently update different elements. This segmentation reduces the complexity of coordination between transactions and enables higher concurrency without increasing overall locking complexity.
Solution Approach 2:
The patent applies locking only to the specific element being updated rather than the entire record. This local quality approach means that locks are applied minimally and locally to the affected element, allowing other elements of the same record to be accessed by concurrent transactions. This reduces blocking and enables higher concurrency while maintaining necessary data integrity.
3Reliability
If exclusive control is used for update processing, then consistency is maintained, but I/O performance is bottlenecked
Solution Approach 1:
The patent segments the update operation to lock only the specific element being modified rather than the entire record. This segmentation reduces the scope of exclusive control, allowing faster I/O operations on other elements of the same record. The consistency of the updated element is maintained through element-level locking, while I/O performance is improved by reducing unnecessary blocking.
Data Source
AI summary
A method includes: upon receipt of a request of update processing for a first record including a numerical data item in a database, generating, by a processor, a second record by duplicating the first record while a value corresponding to an update content of the update processing is set to the numerical data item, the update processing being processing of updating the value of the numerical data item according to the update content; and executing the update processing for the second record in response to the request.


