Dynamic Lock Escalation in Database Maintenance Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database management systems face performance issues due to exclusive locks during maintenance operations, which limit concurrency and require off-hour execution, impacting system availability and user flexibility.

Innovation Solution

A database management system that initiates operations with less severe locks, allowing concurrent execution and upgrading to exclusive locks when necessary, enabling users to select initial lock levels for greater control over performance and accessibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exclusive locks are placed on target data at the beginning of maintenance operations, then data integrity and consistency are ensured, but system availability and concurrency are significantly reduced

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic lock escalation by starting with less severe shared locks that allow concurrent access, then upgrading to exclusive locks only when necessary during operation execution. This dynamic approach adapts the lock severity to the actual needs of the operation, maintaining data integrity while maximizing system throughput and availability.

Inventive Principle:
Principle #15Dynamics

2Reliability

If exclusive locks are placed on target data during maintenance operations, then concurrent data-manipulation operations are prevented, but system availability and user access are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoiddatabase accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies preliminary shared locks at a lower severity level before the maintenance operation begins, allowing users to access and manipulate data concurrently. The lock severity is then escalated to exclusive locks only when the operation requires data consistency, thereby maintaining ease of operation while ensuring data integrity when needed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If maintenance operations are performed during off-hour periods, then exclusive locks can be applied without impacting user access, but system productivity and user flexibility are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables maintenance operations to be performed during business hours by dynamically adjusting lock severity. Operations start with shared locks that permit concurrent user access, then escalate to exclusive locks only when data consistency is required, eliminating the need to restrict operations to off-hour periods and thereby improving operational efficiency and user flexibility.

Inventive Principle:
Principle #15Dynamics

4Productivity

If less severe locks are used initially during maintenance operations, then concurrent data-manipulation operations are enabled, but data integrity risks increase

Engineering Contradiction:
Improvesystem throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary shared locks that allow concurrent access while maintaining basic data protection. These locks are then escalated to exclusive locks at critical points during the maintenance operation to ensure data integrity, thereby balancing system throughput with reliability through a staged locking approach.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7734604B1Locking data in a database after an operation has begun
Publication Date: 2010.06.08 TERADATA US INC
  • US7734604B1 patent drawing
  • US7734604B1 patent drawing
  • US7734604B1 patent drawing

AI summary

A database management system receives a request to perform an operation on a set of target data and, at some point after it begins executing that operation, places a lock on the target data to prevent concurrent execution of other operations on the target data. In some embodiments, the system receives an instruction from a user to perform a data-definition operation on a set of target data; places an initial lock on the target data at a level that allows at least one concurrent operation on the target data; begins executing the operation; and then places a final lock on the target data at a level that excludes all other concurrent operations on the target data.