SQL Parallelism Using Logical Segments to Prevent Resource Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database management systems face challenges in managing database resources efficiently during SQL server parallelism, leading to resource overload and reduced performance due to limited bandwidth and throughput, as multiple SQL servers compete for shared resources, affecting overall efficiency and throughput.

Innovation Solution

The implementation of logical segments within database objects to dynamically manage database tasks and performance by dividing data into smaller logical segments based on access methods, join methods, and join sequences, allowing for efficient distribution of resource access and preventing overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple SQL servers are used for parallelism to increase processing capacity, then productivity is improved, but resource overload and bandwidth exhaustion occur leading to reduced system reliability

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides database resources into multiple logical segments and assigns different segments to different SQL servers. This segmentation allows parallel processing while preventing any single server from overloading shared resources, as each server operates on its designated segment. The logical segmentation creates virtual resource isolation that maintains system stability during parallel operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is divided into logical segments for distribution, then resource utilization is optimized and productivity increases, but device complexity increases due to additional management overhead

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements automatic logical segment assignment where the system self-manages the division and distribution of database resources without requiring manual intervention. The SQL servers automatically receive appropriate logical segments based on system state and workload conditions, reducing the management overhead that would otherwise be associated with complex resource segmentation.

Inventive Principle:
Principle #25Self-service

3Productivity

If shared database resources are accessed by multiple SQL servers simultaneously, then productivity is improved through parallelism, but wait times increase due to resource contention

Engineering Contradiction:
Improveparallel processing throughputVSAvoidresource wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By dividing database resources into logical segments and assigning them to different SQL servers, the patent eliminates resource contention that causes wait times. Each server operates independently on its assigned segment, allowing true parallel execution without the blocking and waiting that occurs when multiple servers compete for shared resources.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12481644B2Dynamically deploying execution nodes using system throughput
Publication Date: 2025.11.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12481644B2 patent drawing
  • US12481644B2 patent drawing
  • US12481644B2 patent drawing

AI summary

A method, system, and computer program product for using logical segments to help manage database tasks and performance for SQL parallelism. The method may include identifying a database object within a database resource of a database. The method may further include determining a database access method for the database object. The method may further include dividing data within the database object into a plurality of logical segments based on the database access method. The method may further include receiving a query for the database. The method may further include identifying the database object that corresponds to the query. The method may further include analyzing the logical segments of the database object. The method may further include distributing access to the database resource based on the logical segments of the database object.