Database Utility Load Balancing Across Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern databases operate 24/7, making it challenging to execute utilities without interfering with operational use, as there is no idle time for running these tasks without affecting the database's performance.

Innovation Solution

A method to distribute the increased load among database system nodes based on their capacity, using a round-robin approach or balancing according to load-bearing ability, considering factors like session requirements, resource consumption, and network capabilities, and applying dynamic resource limits to manage workload groups and achieve service level goals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If utilities are executed on a database system operating 24/7, then the utility tasks can be performed, but the operational performance of the database is affected due to increased load

Engineering Contradiction:
Improveutility execution capabilityVSAvoidoperational performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The database system is segmented into multiple nodes, and utility load is distributed across these nodes rather than concentrated on a single node. This segmentation allows the system to execute utilities while maintaining operational performance by spreading the increased load across multiple database nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts resource allocation and load distribution based on real-time conditions. The utility execution is managed by dynamically assigning sessions and resources to appropriate nodes, allowing the system to adapt to changing load conditions and maintain performance goals.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If utility load is concentrated on single database node, then utility execution is simplified, but load imbalance occurs across database system nodes

Engineering Contradiction:
Improveutility execution managementVSAvoidsystem throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The utility workload is segmented and distributed across multiple database nodes. Each node handles a portion of the utility load based on its capacity and current state, which balances the load across the system and prevents any single node from becoming a bottleneck.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of load distribution from concentrated to distributed by adjusting session assignments and resource allocation across nodes. This parameter change enables load balancing while maintaining utility execution capability.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If more sessions are assigned to execute utility, then utility completion time is reduced, but existing performance goals for operational workloads may be compromised

Engineering Contradiction:
Improveutility execution timeVSAvoidservice level goals
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system dynamically determines the number of sessions to assign to utility execution based on current system conditions and performance goals. This dynamic approach allows the system to allocate sufficient sessions to complete utilities quickly while monitoring and maintaining service level goals for operational workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback mechanisms to monitor the impact of utility execution on operational performance. Based on this feedback, the system adjusts session allocation and resource distribution to ensure that utility completion time is minimized without compromising service level goals.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If database system nodes are heterogeneous in load-bearing ability, then system design reflects actual hardware variations, but load distribution becomes more complex

Engineering Contradiction:
Improvehardware configuration flexibilityVSAvoidload distribution logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system applies local quality by treating each database node according to its specific load-bearing capacity. Each node's session assignment and resource allocation are tailored to its individual capabilities, allowing heterogeneous hardware configurations to be efficiently utilized without requiring uniform treatment of all nodes.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8555288B2Managing database utilities to improve throughput and concurrency
Publication Date: 2013.10.08 TERADATA US INC
  • US8555288B2 patent drawing
  • US8555288B2 patent drawing
  • US8555288B2 patent drawing

AI summary

A method, computer program, and system are disclosed for executing a utility on a database system having a plurality of database system nodes. Each database system node has an existing load. An increased load on the database system required to execute the utility is determined. The existing load on each of the database system nodes is determined. The increased load is distributed in such a way as to balance the load among the database system nodes.