Geographically Distributed Database Active-Passive Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Geographically distributed inventory management systems face challenges in reducing response time delays and minimizing the potential for double-booking and data inconsistencies across multiple datacenters, which are exacerbated by differing user and service-provider latency expectations and varying request volumes.
Innovation Solution
A geographically distributed database system architecture that utilizes multiple datacenters, where one active datacenter handles inventory configuration and transactions, while passive datacenters reroute requests to ensure consistent inventory management, using load balancers to manage traffic and maintain synchronized cache and configuration databases across datacenters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If multiple geographically distributed datacenters are used to reduce response time delays, then user latency expectations are met, but data inconsistencies and double-booking risks increase across datacenters
Solution Approach 1:
The system segments datacenters into active and passive roles, with active datacenters handling configuration and transaction requests while passive datacenters handle only search requests. This segmentation allows geographically distributed datacenters to reduce latency for different request types while maintaining data consistency through centralized configuration management.
Solution Approach 2:
Load balancers act as intermediaries between user devices and datacenters, routing search requests to the geographically closest datacenter while directing configuration and transaction requests to active datacenters. This intermediary mechanism enables low-latency search responses without compromising transactional data consistency.
2Productivity
If all datacenters process all request types independently, then response times are minimized, but incorrect bookings and data inconsistencies occur
Solution Approach 1:
Request processing is segmented by type: search requests are handled by any datacenter for high-speed local processing, while configuration and transaction requests are routed to active datacenters. This segmentation maintains high productivity for search operations while ensuring booking accuracy through centralized transaction management.
Solution Approach 2:
Configuration and transaction request processing is merged at active datacenters, consolidating these critical operations in centralized locations. This merging ensures data consistency and prevents double-booking while allowing passive datacenters to maintain high-speed search capabilities.
3Speed
If geographically distributed datacenters are implemented, then user proximity and response speed improve, but system complexity increases
Solution Approach 1:
The datacenter architecture is segmented into active and passive datacenters with clearly defined roles. Passive datacenters have simplified functionality (handling only search requests) while active datacenters handle configuration and transactions. This segmentation reduces operational complexity compared to fully distributed processing while maintaining geographic distribution for speed.
Solution Approach 2:
Load balancers serve as intermediaries that abstract the complexity of datacenter routing from user devices. They automatically route requests based on type and datacenter status, hiding the architectural complexity while enabling geographically distributed processing for fast response times.
4Reliability
If passive datacenters reroute configuration and transaction requests to active datacenters, then data consistency is maintained, but additional routing overhead is introduced
Solution Approach 1:
The system performs preliminary routing decisions at the load balancer level, classifying requests by type before forwarding them. Configuration and transaction requests are pre-identified and routed to active datacenters, while search requests are pre-identified and routed to local datacenters. This preliminary action reduces routing overhead by making decisions early in the request lifecycle.
Data Source
AI summary
Computer-implemented methods and systems are provided for managing databases. Consistent with disclosed embodiments, a database system can serve configuration requests received from administration systems using an active cluster of at least two geographically separated computing clusters. Serving configuration request can include updating an active configuration database of the active cluster based on the configuration request. The system can also serve search requests received from user devices that specify a search criterion using a closest one of the geographically separated computing clusters by retrieving items satisfying the search criterion from local copies of a cache replicated across the geographically separated computing clusters. Furthermore, the system can serve transaction requests received from the user devices using the active cluster by updating an active local copy of the cache replicated in the active cluster. The active datacenter may be changed by using load balancing devices to reroute transaction and configuration requests between datacenters.


