Database Utility Load Balancing Across Nodes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Device complexity
If utility load is concentrated on single database node, then utility execution is simplified, but load imbalance occurs across database system nodes
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.
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.
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
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.
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.
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
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.
Data Source
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.


