Tenant Database Replication via Asynchronous Synchronous Mode Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face challenges in efficiently replicating or moving tenant databases between systems without causing downtime, especially when scaling or load balancing, and often require replicating entire systems, which is costly and inefficient.

Innovation Solution

The method involves replicating a tenant database from a source system to a target system by establishing asynchronous communication between corresponding servers, allowing the source system to remain online and minimizing downtime, and switching to synchronous mode for statement processing upon successful replication, with secure mutual authentication ensuring data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If asynchronous replication mode is used, then system availability is maintained and downtime is minimized, but data consistency between source and target systems may be temporarily compromised

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system dynamically switches between asynchronous and synchronous replication modes based on operational requirements. During normal operations, asynchronous mode maintains high availability while allowing data consistency to be temporarily compromised. When data consistency is critical (e.g., during failover preparation), the system transitions to synchronous mode, ensuring real-time consistency between source and target databases.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary data replication in asynchronous mode to prepare the target database before failover. This preliminary action ensures that the target database is pre-populated with data, reducing failover time while maintaining system availability during the preparation phase.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If synchronous mode is used for statement processing, then data consistency is ensured, but processing speed and system responsiveness decrease

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system dynamically adjusts the replication mode based on operational context. Synchronous mode is activated only when absolutely necessary for data consistency, such as during failover preparation or critical data operations. For routine operations, asynchronous mode is used to maintain high processing speed and system responsiveness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system periodically verifies data consistency between source and target databases during asynchronous replication. This periodic checking ensures data integrity without requiring continuous synchronous communication, thus maintaining processing speed while periodically confirming consistency.

Inventive Principle:
Principle #19Periodic action

3Reliability

If entire database systems are replicated, then complete system recovery is possible, but computational costs and resource requirements increase significantly

Engineering Contradiction:
Improvesystem recovery capabilityVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of replicating entire database systems, the patent segments the database into tenant-specific databases and replicates only the necessary portions. This segmentation allows for selective replication of specific tenant databases or data sets, reducing computational costs and resource requirements while maintaining the capability to recover specific segments when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts and replicates only the essential data and configuration information needed for tenant database recovery, rather than replicating entire systems. This extraction approach includes replicating data sets, schema definitions, and critical configuration parameters, eliminating the need to replicate all system components and reducing computational overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If tenant database replication is implemented, then load balancing and software upgrades become possible, but system complexity increases

Engineering Contradiction:
Improveload balancing capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The replication infrastructure is designed to serve multiple functions: load balancing, software upgrades, disaster recovery, and data backup. By creating a universal replication mechanism that can handle various operational requirements through a single system, the patent reduces overall system complexity compared to implementing separate systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a replication management system that acts as an intermediary between source and target databases. This intermediary handles the complexity of replication coordination, mode switching, and data synchronization, shielding users from the underlying complexity while enabling load balancing and software upgrade capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10496677B2Tenant database replication
Publication Date: 2019.12.03 SAP SE
  • US10496677B2 patent drawing
  • US10496677B2 patent drawing
  • US10496677B2 patent drawing

AI summary

Replicating a tenant database includes receiving at a source system a first request from a target system for replicating a first tenant database of the source system, which includes one or more first servers. Characteristics of the one or more first servers are sent to the target system to generate at the target system a second tenant database including one or more second servers. Each second server corresponds to one first server and has the same characteristics as the corresponding first server. Information from each first server is replicated, in an asynchronous mode, to the corresponding second server through a communication channel that is established between each first server and the second server. Upon receiving a second request for stopping the replication, a synchronous mode of processing statements from client applications of the first tenant database is entered. Related apparatus, systems, techniques and articles are described.