Load-Aware Data Slice Swapping in Distributed Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for balancing data slices in distributed databases only consider capacity, not load, which can lead to excessive load on servers when data is transferred, affecting overall system efficiency.
Innovation Solution
A method and apparatus that rank servers by load, swap data slices with high load proportions from high-load servers to low-load servers, ensuring the load on low-load servers does not become too high, thereby reducing the overall load on the distributed database system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If data slices are moved from high-load servers to low-load servers based only on capacity balancing, then data distribution uniformity is improved, but server load increases causing system efficiency to deteriorate
Solution Approach 1:
The patent changes the balancing parameter from pure capacity-based to load-aware by introducing load proportion as a key decision factor. When selecting data slices for migration, the system evaluates both the capacity distribution and the load characteristics, dynamically adjusting which slices are migrated based on current server load states. This resolves the contradiction by ensuring that data distribution uniformity is achieved without transferring high-load slices to already burdened servers.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring server load proportions and using this information to guide subsequent data slice migration decisions. After each migration operation, the system reassesses the load state and adjusts its strategy accordingly, preventing the accumulation of excessive load on any single server. This feedback loop ensures that balancing operations maintain both distribution uniformity and system efficiency.
2Reliability
If data slices with high load proportion are transferred to low-load servers, then load balancing is improved, but the low-load server may become overloaded causing system efficiency to deteriorate
Solution Approach 1:
The patent applies partial action by selectively migrating only certain data slices rather than all high-load slices. The system evaluates each candidate slice's load proportion and chooses to migrate only those that will not cause the destination server to become overloaded. This selective approach achieves load balancing while preventing the creation of new bottlenecks, thereby maintaining system efficiency.
Solution Approach 2:
The system performs preliminary assessment of the destination server's capacity before initiating data slice migration. By evaluating the server's current load state and predicting the impact of incoming slices, the system prevents overload conditions before they occur. This anti-action approach ensures that load balancing operations do not inadvertently create new performance bottlenecks.
3Reliability
If multiple data slices are swapped between servers, then load distribution is improved, but the complexity of the balancing operation increases
Solution Approach 1:
The patent segments the data slice selection process into distinct evaluation stages: identifying candidate slices on source servers, assessing their load proportions, evaluating destination server capacity, and making final migration decisions. This segmentation breaks down the complex multi-server balancing problem into manageable sequential steps, reducing operational complexity while achieving improved load distribution.
Solution Approach 2:
The system performs preliminary identification and evaluation of candidate data slices before executing migrations. By pre-assessing which slices are suitable for migration based on load proportions and destination capacity, the system simplifies the actual execution phase. This preliminary action reduces the complexity of real-time decision-making during the balancing operation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure provides a method for leveling loads of distributed databases, including: counting loads of all servers in a distributed database system and a load proportion of each data slice on each server during a statistical period; ranking respective servers according to loads of the respective servers from the highest to the lowest, determining n top-ranked servers as high-load servers, and determining n bottom-ranked servers as low-load servers, where n is a positive integer; determining a data slice that has a high load proportion on a high-load server as a source data slice, determining a data slice that has a low load proportion on a low-load server as a target data slice, and swapping the source data slice and the target data slice. The present disclosure further discloses an apparatus for leveling loads of distributed databases.