Hyperconverged Database High Availability via Cluster Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual computing systems face challenges in maintaining high availability of database management services, particularly in ensuring continuity of operation during disaster conditions, as they often fail to make the repository and database server highly available, leading to downtime and data loss.
Innovation Solution
The implementation of a hyperconverged virtual computing system with multiple clusters, each having multiple nodes with virtual machines, where the database server and administration database are replicated across clusters to ensure high availability, allowing for seamless failover and reduced Recovery Time Objective (RTO) and Recovery Point Objective (RPO), thereby maintaining database management services even in the event of node or cluster failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database server and administration database are replicated across multiple clusters, then high availability is improved, but system complexity increases
Solution Approach 1:
The system divides the database infrastructure into separate clusters (first cluster, second cluster, third cluster) with distinct functional roles. Database servers and administration databases are segmented across these clusters, allowing independent operation and failure isolation. This segmentation enables high availability by ensuring that failures in one cluster do not propagate to others, while maintaining manageable complexity through clear architectural boundaries.
Solution Approach 2:
A load balancer is introduced as an intermediary component that manages client connections to database servers across multiple clusters. The load balancer abstracts the complexity of distributed database access, providing a single point of contact for clients while handling the complexity of routing, failover, and load distribution across the distributed architecture. This intermediary simplifies the system from the client perspective while enabling complex high-availability behavior.
2Reliability
If multiple instances of database server and administration database are created across clusters, then service continuity during disaster conditions is improved, but resource requirements increase
Solution Approach 1:
The system implements local quality by placing specific database instances and administration databases on different clusters based on their functional requirements and failure domain considerations. Critical components are distributed across geographically or logically separated clusters, ensuring that local failures do not impact overall service continuity. This targeted distribution optimizes resource usage by placing replicas only where needed for disaster recovery rather than uniformly across all nodes.
Solution Approach 2:
The system performs preliminary actions by pre-configuring multiple database instances and administration databases across clusters before disasters occur. Failover configurations, connection strings, and recovery procedures are established in advance, allowing immediate service continuity when disasters strike without requiring additional resource provisioning during the crisis. The multi-cluster architecture is prepared beforehand to handle failure scenarios.
3Loss of time
If database components are distributed across multiple clusters with failover capability, then Recovery Time Objective is reduced, but configuration and management difficulty increases
Solution Approach 1:
The system implements automatic feedback mechanisms through load balancers and database connectivity modules that continuously monitor the health and availability of database instances across clusters. When failures are detected, the system automatically redirects connections to healthy instances without manual intervention. This closed-loop feedback system reduces recovery time by eliminating manual failover steps while managing complexity through automation rather than manual configuration procedures.
Data Source
AI summary
A highly available database system includes a first instance of a database server on a first cluster of a virtual computing system, a second instance of the database server on a second cluster of the virtual computing system, a first instance of an administration database on the first cluster, and a second instance of the administration database on the second cluster. The first instance of the database server and the second instance of the database server form a highly available database server, the first instance of the administration database and the second instance of the administration database form a highly available administration database, and the first instance of the database server, the second instance of the database server, the first instance of the administration database, and the second instance of the administration database are configured to manage at least one customer database.


