Identifier-Based Data Replication for Multi-Tenant Database Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tenant database systems face inefficiencies and complexity in managing data replication due to the dynamic addition and removal of tenants and the need for separate computer clusters for each group of tenants, leading to redundant resource usage and increased complexity in disaster recovery setups.
Innovation Solution
Implementing identifier-based data replication, where data is replicated to a specific disaster recovery database based on a tenant identifier or characteristic, allowing multiple tenants to be processed with a single cluster and replicated to different disaster recovery databases, reducing the need for multiple clusters and simplifying management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate computer clusters are used for each group of tenants to manage data replication, then data replication reliability is improved, but device complexity and resource redundancy increase
Solution Approach 1:
The patent merges multiple separate computer clusters into a single shared cluster that serves multiple tenants. The system allows different groups of tenants to share the same cluster infrastructure while maintaining isolated data replication streams through identifier-based routing, thereby reducing overall system complexity and resource redundancy while preserving replication reliability.
Solution Approach 2:
The patent implements a universal cluster infrastructure that can serve multiple tenant groups simultaneously. The same cluster resources (computing nodes, storage systems, network infrastructure) are made multi-functional by dynamically assigning them to different replication tasks based on tenant identifiers, eliminating the need for dedicated clusters for each tenant group.
2Reliability
If separate computer clusters are used for each group of tenants, then data isolation between tenants is improved, but resource usage efficiency deteriorates due to redundancy
Solution Approach 1:
The patent combines computing resources from multiple separate clusters into a shared pool that serves multiple tenants. By merging infrastructure resources (servers, storage, network) while maintaining logical separation through identifier-based routing, the system achieves both data isolation and improved resource utilization efficiency.
Solution Approach 2:
The patent changes the routing parameter from cluster-specific to identifier-based. Instead of directing replication traffic based on which physical cluster a tenant is assigned to, the system uses tenant identifiers to dynamically determine replication destinations within the shared cluster environment, enabling flexible resource allocation while maintaining data isolation.
3Device complexity
If identifier-based data replication is implemented, then device complexity is reduced by using a single cluster, but the difficulty of detecting and measuring data routing increases
Solution Approach 1:
The patent introduces an intermediary component (replication manager or routing layer) that handles identifier-based data routing. This intermediary translates tenant identifiers into appropriate replication destinations within the shared cluster, shielding the complexity of routing logic from the underlying infrastructure and providing a simplified interface for monitoring and management.
Data Source
AI summary
A database system may store data at a primary database and replicate the data to one or more disaster recover (DR) databases. The database system may determine which DR database to use for data replication based on an identifier of the data. A method for data storage may include receiving and storing a first data block and a second data block at a first database server. The method may further include transmitting a first backup request for the first data block to a second database server based on an identifier of the first data block and transmitting a second backup request for the second data block to a third database server based on an identifier of the second data block.


