Data Sync Cache for Hierarchical Object Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data transfer mechanisms in multi-tenant computing systems face performance issues due to varying characteristics, leading to failed syncs and repeated attempts to resync data, which are costly in terms of performance and resources.
Innovation Solution
A data sync cache is implemented to store sync information for parent data objects, allowing higher performance synchronization engines to confirm successful syncs before initiating child data object syncs, thereby reducing the need for repeated API calls and ensuring successful child data object syncing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional data transfer mechanisms are used to sync data between datastores, then data synchronization is achieved, but performance costs increase due to failed syncs and repeated API calls
Solution Approach 1:
The system performs a cache lookup of parent data object sync information before initiating child data object synchronization. This preliminary check ensures that parent objects are successfully synced before their children are processed, preventing failed syncs and reducing the need for repeated API calls, thereby improving both reliability and productivity
Solution Approach 2:
The system uses a data sync cache that stores and tracks sync status information of parent data objects. This feedback mechanism allows the synchronization process to verify parent object status before proceeding with child objects, enabling informed decision-making that reduces failed operations and improves overall sync efficiency
2Reliability
If parent data object sync status is verified before child data object sync, then sync reliability improves, but additional cache lookup operations are required
Solution Approach 1:
The system introduces a data sync cache as an intermediary component that stores parent data object sync information. This cache acts as a mediator between the parent and child synchronization processes, providing quick verification of parent status without adding significant complexity to the overall system architecture
Solution Approach 2:
The system creates a copy of parent data object sync information in a data sync cache. This cached copy allows for rapid verification of parent sync status without requiring complex real-time checks, simplifying the synchronization process while maintaining high reliability
Data Source
AI summary
A data sync cache is maintained to facilitate syncing of child data objects between a first computing system and a second computing system. Responsive to successful syncing of a parent data object of a child data object by a first sync engine, parent object data sync information indicating that the parent data object was successfully synced is written to the data sync cache. Prior to initiating a sync of the child data object by a second sync engine different from the first sync engine, a cache lookup of the data sync cache is performed to determine if the sync information is contained therein. If the data sync cache includes the sync information, the child data object sync is initiated. In this manner, failed syncs of child data objects are reduced along with the expensive API calls to the second computing system that would otherwise be required to retry failed syncs.


