Global Database Load Stabilization via Background Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a global database with regionalized replication, asynchronous updates between the global database and its clones lead to inconsistent reads, causing issues in business logic and potential overloading when traffic ramps up due to fallbacks, which can result in errors or request failures.
Innovation Solution
Implement a mechanism where regional global clones handle requests if they are ready, and if not, redirect them to the global database; additionally, generate background requests to maintain a constant load on the global database by ensuring it processes transactions even when requests are served by clones, thereby preventing scaling down and resource relinquishment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If requests are redirected to regional global clones to reduce traffic to the global database, then traffic to the global database is reduced, but the global database may become overloaded when traffic ramps up due to fallbacks
Solution Approach 1:
The system proactively sends background requests to the global database before actual traffic ramps occur. This preliminary action ensures the global database maintains its load and prevents scaling down, so when fallback traffic occurs, the database is already prepared and can handle the load without becoming overloaded
Solution Approach 2:
The system maintains continuous background requests to the global database even when regional clones are handling client requests. This ensures the global database continuously processes some transactions, maintaining its operational state and preventing load drops that would trigger scaling down and subsequent overload when fallback occurs
2Use of energy by moving object
If the global database scales down when load decreases, then resources are relinquished, but when traffic ramps up due to fallbacks, the global database becomes overloaded resulting in errors
Solution Approach 1:
Background requests are sent in advance to prevent the global database from scaling down. This preliminary action maintains the database's resource allocation and operational capacity, ensuring it can immediately handle fallback traffic without entering an error state
Solution Approach 2:
The system cushions against potential overload by maintaining a baseline load through background requests. This creates a buffer that prevents the database from scaling down to zero capacity, cushioning against the shock of sudden fallback traffic and preventing request failures
3Measurement precision
If regional global clones are used to serve requests, then read consistency is improved, but the global database cannot maintain steady load for load-splitting operations
Solution Approach 1:
Background requests are sent proactively to maintain steady load on the global database. This preliminary action ensures load-splitting operations have stable conditions, allowing the system to use regional clones for reads while maintaining database stability
Solution Approach 2:
The system merges client requests handled by regional clones with background requests sent to the global database. This combination allows reads to be served by clones (improving consistency) while background requests maintain the steady load needed for load-splitting operations
Data Source
AI summary
The present disclosure provides for maintaining a steady load on a global database. In a global database with regionalized replication, some requests are handled by a global clone in a region, as opposed to the global database. If the global clone in the region is not up to date, the request may “fallback,” where it is redirected to the global database. By serving some requests at the global clone, instead of the global database, the traffic to the global data may be significantly reduced. However, the global database has different mechanisms which depend on a steady load. Accordingly, the present disclosure provides a mechanism for maintaining a constant load on the global database, despite regionalized replication. Maintaining a constant load ensures that the global database will be able to handle fallbacks when request to clones fail.


