Distributed Availability Groups for Cross-Region Database Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems in data centers face challenges such as lack of cross-region availability, geographical disaster recovery, and limited scalability for online transaction processing systems, particularly in migrating databases across different operating systems and cloud environments, leading to performance degradation and downtime.

Innovation Solution

The implementation of a Distributed Availability Group (DAG) architecture that allows for the composition of multiple Availability Groups, enabling cross-region replication, unlimited readable secondary nodes, and seamless migration between different operating systems and cloud environments, with features like automatic seeding and synchronous replication to ensure high availability and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a star topology is used for database replication from one primary server to multiple secondary servers, then replication coverage is achieved, but the primary server becomes burdened and OLTP system performance degrades

Engineering Contradiction:
Improvereplication coverageVSAvoidOLTP system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the replication topology by introducing intermediate secondary servers that act as replication relays. Instead of all secondary servers connecting directly to the primary server, the system divides the replication network into hierarchical levels, where primary servers replicate to selected secondary servers, which then replicate to additional secondary servers. This segmentation distributes the replication burden away from the primary server, maintaining OLTP performance while achieving comprehensive replication coverage.

Inventive Principle:
Principle #1Segmentation

2Reliability

If synchronous replication is implemented to ensure data integrity, then data consistency is improved, but system complexity and failover time increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements partial synchronous replication by allowing administrators to configure different replication modes for different availability groups or databases. Synchronous replication is applied only where data consistency is critical, while asynchronous replication is used for other scenarios. This partial application of synchronous replication maintains data integrity for critical operations without requiring the entire system to operate in high-complexity synchronous mode, thereby reducing overall system complexity while preserving essential data consistency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If operating system failover clustering is used for high availability, then availability is improved, but compatibility with previous versions is lost during upgrades

Engineering Contradiction:
ImproveavailabilityVSAvoidOS version compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent uses database replication to create copies of databases across different operating system versions. When an operating system upgrade is needed, the system maintains replicas on both the old and new OS versions. The replication mechanism allows data to be copied from the primary server on the old OS to secondary servers on the new OS, enabling gradual migration and version upgrades without losing availability. This copying approach bypasses the limitations of traditional failover clustering by using replication-based compatibility instead of OS-level clustering constraints.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10929379B2Distributed availability groups of databases for data centers including seeding, synchronous replications, and failover
Publication Date: 2021.02.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10929379B2 patent drawing
  • US10929379B2 patent drawing
  • US10929379B2 patent drawing

AI summary

A Distributed Availability Group (DAG) spans two AGs, each spanning one or more replica nodes and functioning as primary or secondary AG. A primary AG is replicated to the secondary AG synchronously or asynchronously. A failover in the DAG results in the AGs swapping their roles. Multiple DAGs can be linked together as a chain, which provides many useful features including disaster recovery across geographical regions, massive read scale (numerous readable secondary nodes), online migration of databases (across different operating systems and computing environments). The systems using DAGs can replicate databases across multiple independent high availability (HA) failover clusters using complex replication topologies and allow for manual failover and failback. The systems allow chaining of multiple AGs to provision a treelike structure of replicas and numerous secondary replicas without impacting performance. The systems automatically seed new database replicas to facilitate building a complex topology of DAGs.