Database Server Load Distribution for High Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems with shared-nothing architecture face inefficiencies due to standby-only resources being inactive during normal operations, leading to increased total cost of ownership and decreased system throughput during failures, as the load concentration on destination machines reduces overall system performance.
Innovation Solution
Implement a method where failed DB processing units switch to operating units, distributing multiple servers across multiple units, allowing for dynamic destination server determination based on user policies to stabilize system throughput post-failure, thereby reducing the need for standby-only resources and minimizing load imbalance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a standby machine is prepared for system switchover, then system reliability is improved, but resource utilization deteriorates because the standby machine is inoperative during normal operations
Solution Approach 1:
The patent makes operating machines universal by enabling them to perform both normal service execution and standby functions. When failure occurs, operating machines can dynamically take over as standby machines, eliminating the need for dedicated standby-only resources. This multi-functionality allows the same hardware resources to serve multiple purposes, improving utilization while maintaining reliability.
Solution Approach 2:
The patent implements dynamic role assignment where machines can switch between operating and standby roles based on system conditions. The standby machine is not fixed but can be any operating machine that becomes available. This dynamic approach allows flexible resource allocation where standby capacity is drawn from the pool of operating machines rather than requiring separate dedicated resources.
2Reliability
If system switchover is implemented to restore the system rapidly, then reliability is improved, but productivity deteriorates due to load concentration on the destination machine
Solution Approach 1:
The patent segments the failed machine's workload into individual server-level units and distributes them across multiple operating machines rather than concentrating all load on a single destination. This segmentation allows the total load to be divided and spread, preventing any one machine from becoming a bottleneck and maintaining overall system throughput during recovery.
Solution Approach 2:
The patent combines multiple operating machines to share the load from failed servers. Instead of one destination machine handling all switchover load, multiple operating machines work together to accommodate the redistributed servers. This merging of resources across multiple nodes distributes the processing burden and maintains system productivity during failure recovery.
Data Source
AI summary
A server to be changed is added to a destination unit in terms of configuration. The server to be changed is started to restore the database in the database storage region to which the server has access and to restore the transaction for the process that was executed when the server failed. The destination of the failed server (a system destination unit) when failure occurs is determined to stabilize the throughput of the entire system after the switchover of the system in the event of failure. The destination server is determined according to an instruction given in advance by the user. The database management system statistically determines the destination server in accordance with a policy designated by the user. Alternatively, the database management system dynamically determines the destination server according to the policy designated by the user when failure occurs.


