Multi-Environment Data Synchronization via Dynamic Replication Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed load-balancing and synchronization products require affirmative user connections, are user-unfriendly, lack automatic selection of optimal replication mechanisms, and prohibit bidirectional data-changing connections, leading to inefficiencies and limitations in data synchronization across large distributed database environments.
Innovation Solution
A system and method for optimal multi-environment data synchronization/replication that selects the appropriate synchronization process based on data-changing requests and status information, allowing bidirectional connections without pre-established in-band connections, using Change Data Multicast (CDM) to replicate data changes across multiple environments, and enabling automatic selection between SQL multicast and CDM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If existing distributed load-balancing and synchronization products are used, then data replication can be achieved, but the products require affirmative user connections which are inconvenient and user-unfriendly
Solution Approach 1:
The system automatically establishes connections and selects synchronization mechanisms without requiring user intervention. The synchronization server autonomously manages data replication across environments, eliminating the need for users to manually configure connections or select replication methods.
2Extent of automation
If existing synchronization products are used, then data replication can be performed, but automatic selection of optimal replication mechanisms is not provided
Solution Approach 1:
The system dynamically selects the optimal synchronization mechanism (SQL multicast, CDM, or other mechanisms) based on real-time conditions such as data change types, target system capabilities, and network status. This dynamic adaptation allows the system to automatically optimize replication performance for different scenarios.
3Adaptability or versatility
If existing products are used, then data synchronization can be achieved, but bidirectional data-changing connections are prohibited
Solution Approach 1:
The synchronization server acts as an intermediary that coordinates bidirectional data changes between source and target systems. It manages concurrent connections from multiple users by sequencing data change operations and ensuring consistency across environments, enabling simultaneous bidirectional modifications without conflicts.
4Productivity
If a single predetermined synchronization mechanism is used, then implementation is simple, but optimal performance cannot be achieved in all situations
Solution Approach 1:
The system changes operational parameters by selecting different synchronization mechanisms based on specific conditions. For example, it chooses SQL multicast for certain data change types, CDM for others, and adjusts replication behavior according to target system capabilities and network conditions, optimizing performance for each scenario.
Data Source
AI summary
A data-changing request is received on a first data source system. Metadata for a data source object associated with the request is obtained. The request is executed on a second data source system and results are obtained. A selection between multiple replication processes is made based on the metadata and the results. The selected process is performed on each of the remaining data source systems to synchronize/replicate data changes on the remaining data source systems. In an embodiment, bidirectional and concurrent data connections are permitted to a source object for one data source system and a replicated version of the source object on a different source system. In an embodiment, each data source system includes an agent that establishes an out-of-band connection to a synchronization/replication server, such that synchronization/replication is processed by the server without an affirmative connection being made from the data source systems to the server.


