Database Record Duplication for Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the number of concurrently executable transactions is increased, then system performance is improved, but lock thrashing increases blocking transactions

Engineering Contradiction:
ImproveconcurrencyVSAvoidlocking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

3Reliability

If exclusive control is used for update processing, then consistency is maintained, but I/O performance is bottlenecked

Engineering Contradiction:
ImproveconsistencyVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10311157B2Method for update processing, and apparatus
Publication Date: 2019.06.04 FUJITSU LTD
  • US10311157B2 patent drawing
  • US10311157B2 patent drawing
  • US10311157B2 patent drawing

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.