Multi-cluster Database Management via Snapshot Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual computing systems face challenges in efficiently managing databases across multiple clusters, leading to complex and time-consuming database provisioning, limited snapshot capture frequency, and inefficient replication of snapshots and transactional logs, which result in data loss and high resource requirements.
Innovation Solution
A multi-cluster database management system that allows users to create and register databases quickly through a user-friendly interface, automatically captures snapshots and transactional logs, and replicates them across clusters, enabling efficient database management and high availability with customizable protection schedules and load balancing mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional virtual computing systems are used for database management, then resource utilization is improved, but database provisioning becomes complex and time-consuming
Solution Approach 1:
The system segments database management into independent cluster units that can be provisioned and managed separately. Each cluster is a self-contained unit with its own database instances, allowing for simplified provisioning while maintaining high resource utilization across the virtual computing system.
Solution Approach 2:
The system uses templates and cloning mechanisms to rapidly provision database clusters. By copying proven cluster configurations and database structures, the system eliminates complex manual provisioning while maintaining resource efficiency through standardized, optimized cluster designs.
2Reliability
If snapshot capture frequency is increased, then data loss is reduced, but system performance and resource consumption increase
Solution Approach 1:
The system applies different snapshot capture strategies to different clusters and database instances based on their specific requirements. Critical databases receive frequent snapshots for data loss prevention, while less critical systems use reduced capture frequencies to maintain performance, optimizing the balance between reliability and productivity.
Solution Approach 2:
The system implements periodic snapshot capture at optimized intervals rather than continuous capturing. By strategically timing snapshots during low-activity periods or using incremental updates, the system achieves adequate data protection while minimizing performance impact and resource consumption.
3Reliability
If replication is performed across all clusters, then availability is improved, but resource requirements and complexity increase
Solution Approach 1:
The system segments replication into cluster-specific and cross-cluster levels. Each cluster maintains its own replicated database instances for high availability, while a centralized management layer handles cross-cluster replication coordination, reducing overall system complexity while maintaining comprehensive availability.
Solution Approach 2:
The system introduces a centralized management server as an intermediary that coordinates replication across multiple clusters. This mediator handles the complexity of replication routing, conflict resolution, and synchronization, allowing distributed clusters to maintain availability without managing replication complexity directly.
4Reliability
If transactional logs are captured continuously, then data loss is minimized, but resource consumption and processing overhead increase
Solution Approach 1:
The system captures transactional logs selectively based on cluster and database priorities. Critical databases with strict data loss requirements receive continuous logging, while less critical systems use sampling or event-driven capture, optimizing the balance between data protection and resource consumption across the distributed system.
Data Source
AI summary
A multi-cluster configuration of a database management system in a virtual computing system includes a server that defines a first policy for a source database on a first cluster of a plurality of clusters. Each of the plurality of clusters is registered with the server and the first policy defines capture of snapshots and/or transactional logs from the source database on the first cluster. The server defines a second policy for the source database to replicate at least some of the snapshots and/or transactional logs from the first cluster to a second cluster of the plurality of clusters, captures a first snapshot and/or a first transactional log from the source database in accordance with the first policy, and replicates the first snapshot and/or the first transactional log to the second cluster in accordance with the second policy.


